mirror of
https://github.com/asdlokj1qpi233/subconverter.git
synced 2025-10-26 02:42:25 +00:00
fix: MINGW32 compiler error
This commit is contained in:
@@ -20,22 +20,7 @@ cmake -G "Unix Makefiles" \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_C_FLAGS="-D__MINGW_FENV_DEFINED" .
|
||||
make quickjs -j4
|
||||
# 如果是 32 位编译,则处理 libquickjs.a,去掉重复定义的符号
|
||||
# 注意:此处通过检测目标架构环境变量,你也可以根据实际情况加个判断
|
||||
echo "处理 32 位 libquickjs.a,去除重复定义的符号..."
|
||||
mkdir -p tmp_lib
|
||||
cd tmp_lib
|
||||
# 解包静态库
|
||||
ar x ../quickjs/libquickjs.a
|
||||
# 对每个目标文件,删除这几个符号
|
||||
for obj in *.o; do
|
||||
objcopy --strip-symbol=__mingw_fe_pc53_env --strip-symbol=__mingw_fe_pc64_env --strip-symbol=__mingw_fe_dfl_env "$obj"
|
||||
done
|
||||
# 重新打包为新的静态库
|
||||
ar rcs ../quickjs/libquickjs_fixed.a *.o
|
||||
cd ..
|
||||
# 用处理后的库覆盖原库(或直接安装新库)
|
||||
mv quickjs/libquickjs_fixed.a quickjs/libquickjs.a
|
||||
|
||||
install -d "$MINGW_PREFIX/lib/quickjs/"
|
||||
install -m644 quickjs/libquickjs.a "$MINGW_PREFIX/lib/quickjs/"
|
||||
install -d "$MINGW_PREFIX/include/quickjs"
|
||||
@@ -71,5 +56,5 @@ cmake -DCMAKE_BUILD_TYPE=Release -G "Unix Makefiles" .
|
||||
make -j4
|
||||
rm subconverter.exe
|
||||
# shellcheck disable=SC2046
|
||||
g++ $(find CMakeFiles/subconverter.dir/src -name "*.obj") curl/lib/libcurl.a -o base/subconverter.exe -static -lbcrypt -lpcre2-8 -l:quickjs/libquickjs.a -llibcron -lyaml-cpp -liphlpapi -lcrypt32 -lws2_32 -lwsock32 -lz -s
|
||||
mv base subconverter
|
||||
g++ $(find CMakeFiles/subconverter.dir/src -name "*.obj") curl/lib/libcurl.a -o base/subconverter.exe -static -Wl,--allow-multiple-definition -lbcrypt -lpcre2-8 -llibcron -lyaml-cpp -liphlpapi -lcrypt32 -lws2_32 -lwsock32 -lz -Lquickjspp/quickjs -lquickjs -s
|
||||
mv base subconverter
|
||||
|
||||
Reference in New Issue
Block a user