这是我的cmake mingw32工具链文件:
set(CMAKE_SYSTEM_NAME Windows)
######################################################
# Compiler Flags
######################################################
set(COMMON_FLAGS "")
set(COMMON_FLAGS ${COMMON_FLAGS} -static)
set(COMMON_FLAGS ${COMMON_FLAGS} -static-libgcc)
set(COMMON_FLAGS ${COMMON_FLAGS} -static-libstdc++)
set(COMMON_FLAGS_DEBUG "")
set(COMMON_FLAGS_RELEASE "")
set(C_FLAGS "")
set(CXX_FLAGS "")
set(C_FLAGS_DEBUG ${COMMON_FLAGS} ${WARNING_FLAGS} ${COMMON_FLAGS_DEBUG} ${C_FLAGS})
set(C_FLAGS_RELEASE ${COMMON_FLAGS} ${WARNING_FLAGS} ${COMMON_FLAGS_RELEASE} ${C_FLAGS})
set(CXX_FLAGS_DEBUG ${COMMON_FLAGS} ${WARNING_FLAGS} ${COMMON_FLAGS_DEBUG} ${CXX_FLAGS})
set(CXX_FLAGS_RELEASE ${COMMON_FLAGS} ${WARNING_FLAGS} ${COMMON_FLAGS_RELEASE} ${CXX_FLAGS})
######################################################
# Linker flags
######################################################
string(REPLACE ";" " " LINKER_FLAGS_DEBUG "${COMMON_FLAGS_DEBUG}")
string(REPLACE ";" " " LINKER_FLAGS_RELEASE "${COMMON_FLAGS_RELEASE}")
string(REPLACE ";" " " LINKER_FLAGS "${COMMON_FLAGS}")
我可以使用此工具链文件创建我的Makefile。
当我使用
i686-6.4.0-release- win32 -dwarf-rt_v5-rev0
我不需要将编译器文件夹添加到PATH即可编译和链接项目。
但是当我使用
i686-6.4.0-release- posix -dwarf-rt_v5-rev0
我必须将编译器添加到PATH进行编译。如果我不将posix版本添加到路径,则在编译过程中会收到错误消息
因为libwinpthread-1.dll不是,所以代码执行无法继续 找到了。重新安装程序可能会解决此问题
是否可以使用posix版本而不添加路径?我必须在工具链文件中添加什么?
感谢您的帮助!