mingw64+msys2下使用cmake問題


直接pacman -S cmake 安裝的並不好用,直接下載windows版本的cmake. 比如安裝在D:\\cmake下. 然后設置環境變量

export PATH=D:/cmake/bin:$PATH 

然后編輯一個 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內容 這些變量可能要根據實際情況設置。

還有個問題,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")

到此為止應該能幫你解決掉部分問題。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM