Blogs
ubuntu上配置https
由 hubdog 于 星期六, 2020-07-11 22:31 发表https://gist.github.com/cecilemuller/a26737699a7e70a7093d4dc115915de8
发现certbot相当牛逼,全自动配置https,http重定向, 自动更细证书.
只有一点要注意,nginx.conf必须是utf8编码的,否则可能会报错
linux下调试ffmpeg
由 hubdog 于 星期六, 2020-06-20 08:35 发表现在只能用eclipse cdt调试了,因为clion只能调试cmake的工程, netbeans已经死掉了,重点是导入makefile的工程,编译设置要禁用asm,禁止优化
./configure --disable-stripping --enable-debug=3 --disable-optimizations --disable-asm
调试选择的应该是ffmpeg_g而不是剥离了调试信息的ffmpeg
cmake的交叉编译
由 hubdog 于 星期六, 2020-06-13 22:04 发表win32.cmake
set(CMAKE_SYSTEM_NAME Windows)
编译命令
./configure --cmake-toolchain-file=./win32.cmake --TOOLCHAIN_PREFIX=i686-w64-mingw32-
linux下创建虚拟摄像头
由 hubdog 于 星期三, 2020-06-10 20:34 发表https://superuser.com/questions/411897/using-desktop-as-fake-webcam-on-linux
fmx for linux相当稳健
由 hubdog 于 星期三, 2020-06-10 15:22 发表这两天帮客户写webrtc for linux的程序,客户指定用fmx for linux,跑了一下,感觉编译很快,运行调试很流畅,比Mac 和IOS的调试要舒服很多.
算是一个相当靠谱的linux 桌面程序开发框架了.
undefined reference to typeinfo of XXX
由 hubdog 于 星期日, 2020-06-07 15:10 发表编译webrtc遇到了这个错误,查了一下,因为有些virtual 方法,没有写实现,就会报告这个错误
解决办法是add_compile_options(-fno-rtti) ,去掉rtti
https://stackoverflow.com/questions/307352/g-undefined-reference-to-type...
手工签名Android apk
由 hubdog 于 星期日, 2020-05-24 22:52 发表java -jar apksigner.jar sign --ks xxx.keystore --ks-key-alias key --ks-pass pass:password--key-pass pass:password--out output.apk input.apk
如何在IOS中用XCode调试Flutter的Plugin
由 hubdog 于 星期四, 2020-05-14 16:11 发表打开plugin的Runner工程,注意这个时候你在工程中找不到plugin的Objective-C的代码,没法加断点,这时用sublime文本编辑器或者Android Studio打开*.m文件,随便添加一个编译错误的代码,用xcode点运行,它会报错并定位到错误的代码,这时你就可以添加断点了,修改掉错误的代码,点运行,就可以断在指定的位置上了
也可以用下面呢的自定义Sybolic Breakpoing的方法,但是非常不好用
https://stackoverflow.com/questions/52770209/how-to-debug-ios-native-code-in-a-flutter-plugin
Flutter里面更新git参照的pub
由 hubdog 于 星期日, 2020-05-10 00:13 发表对于直接用git参照的pub来说
flutter_vlc_player: git: url: git://github.com/chinshou/flutter_vlc_player.git
如果之前执行过pub get, 之后git更新过,需要执行pub upgrade才能得到最新的git变更,这是一个坑.
Android请求权限会导致application触发进入后台的事件
由 hubdog 于 星期五, 2020-05-08 10:04 发表
PermissionsService.RequestPermissions( [ JStringToString(TJManifest_permission.JavaClass.WAKE_LOCK), JStringToString(TJManifest_permission.JavaClass.READ_EXTERNAL_STORAGE), JStringToString(TJManifest_permission.JavaClass.RECORD_AUDIO), JStringToString(TJManifest_permission.JavaClass.CAMERA), JStringToString(TJManifest_permission.JavaClass.WRITE_EXTERNAL_STORAGE) ], procedure(const APermissions: TArray<string>; const AGrantResults: TArray<TPermissionStatus>) begin end );
TApplicationEvent.EnteredBackground:非常奇怪