gpt4 book ai didi

c - 在 Windows 和 Linux 上的 CMake 文件中链接数学库

转载 作者:行者123 更新时间:2023-11-30 16:21:21 29 4
gpt4 key购买 nike

我已经能够编写一个 CMakeLists.txt 文件,该文件能够在 Linux 上构建我的 C 项目,但是,在 Windows 上构建该项目时我遇到了很多麻烦。 cmake .. 调用成功,并生成 Visual Studio 2017 项目文件,但构建随后无法定位:错误 LNK1104 无法打开文件“m.lib”。在 CMakeLists.txt 文件中,我使用 target_link_libraries(MY_EXECUTABLE m) 尝试链接数学库,该库适用于 Linux,但在 Windows 上会出现上述错误。经过一些研究,在我看来,数学是由 Windows 上的 mscvr 库处理的,而不是像 Linux 上的 libm 处理的,但我不确定如何配置 CMake 文件,以便我可以在两个操作系统上进行构建。

有人知道如何设置它以便能够在两种环境中构建吗?

最佳答案

Visual Studio 不需要也不希望您显式请求链接数学库。在为 Windows 构建时,必须避免将其添加为链接库。那么,您可以使用:

,而不是无条件地执行 target_link_libraries(MY_EXECUTABLE m)
IF (NOT WIN32)
target_link_libraries(MY_EXECUTABLE m)
ENDIF()

关于c - 在 Windows 和 Linux 上的 CMake 文件中链接数学库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54935559/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com