mingw64+msys2下使用cmake问题
直接pacman -S cmake 安裝的并不好用,直接下載windows版本的cmake. 比如安裝在D:\\cmake下. 然后設(shè)置環(huán)境變量
export PATH=D:/cmake/bin:$PATH?
然后編輯一個(gè) toolchain-mingw64.cmake文件:
SET(CMAKE_SYSTEM_NAME Windows)
SET(CMAKE_C_COMPILER x86_64-w64-mingw32-gcc)
SET(CMAKE_CXX_COMPILER x86_64-w64-mingw32-g++)
SET(CMAKE_RC_COMPILER x86_64-w64-mingw32-windres)
SET(CMAKE_RANLIB x86_64-w64-mingw32-ranlib)
SET(CMAKE_ASM_YASM_COMPILER yasm)
保存后。
接下來:?cmake -G"Unix Makefiles" . -DCMAKE_TOOLCHAIN_FILE=toolchain-mingw64.cmake 就可以生成makefile文件.
注意上面的?toolchain-mingw64.cmake內(nèi)容 這些變量可能要根據(jù)實(shí)際情況設(shè)置。
還有個(gè)問題,mingw64生成的dll往往依賴libgccxxx.dll 和 libstdc++.dll, 如何不依賴,給?toolchain-mingw64.cmake加入下面的代碼即可
SET(CMAKE_CXX_FLAGS "-static-libgcc -static-libstdc++ -static")
SET(CMAKE_C_FLAGS "-static-libgcc -static-libstdc++ -static")
SET(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "-static-libgcc -static-libstdc++ -static")
SET(CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS "-static-libgcc -static-libstdc++ -static")
到此為止應(yīng)該能幫你解決掉部分問題。
總結(jié)
以上是生活随笔為你收集整理的mingw64+msys2下使用cmake问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: js使用深度优先遍历实现getElmen
- 下一篇: 【NLP】完全解析!Bert Tran