gpt4 book ai didi

visual-studio-2010 - 如何在 CMake 中添加 Windows 库?

转载 作者:行者123 更新时间:2023-12-02 00:06:48 25 4
gpt4 key购买 nike

我想将 ws2_32.lib 包含到我的应用程序中,但 CMake 在 -l到项目属性。

...
add_executable(Executive ${exec_src})
target_link_libraries(Executive ws2_32)

所以这就是我的 CMakeLists.txt 文件的样子,但是当我检查“输入”下的 VS2010 链接器属性页面时,它列出了 -lws2_32.lib .为什么添加 -l ?我该如何删除它,因为一旦我手动将其更改为 ws2_32.lib该项目能够正确链接。

我尝试了以下方法: find_library(WIN_C ws2_32)但结果是 NOTFOUND .

最佳答案

自从我之前的回答以来,我自己找到了更好的方法。

在 CMAKE 输出开始时,您是否看到类似这样的内容?:

The C compiler identification is unknown
The CXX compiler identification is unknown

如果是这样,似乎 CMake 没有正确确定您的编译器 - 因此无法正确计算如何传递链接器参数。

就我而言,它看起来像是被我安装的工具套件弄糊涂了。我有各种版本的 VS2010 express 工具,还有 TFS 团队资源管理器——它安装了 Visual Studio shell。看起来 CMake 看到了 devenv.exe 的存在并假设我因此拥有一个完整的视觉工作室。

您可以通过指定 CMAKE_MAKE_PROGRAM 变量来解决此问题 - 在命令行中使用 -D CMAKE_MAKE_PROGRAM 或在 GUI 中通过勾选高级复选框并找到条目来解决此问题。我需要将它从 C:/PROGRA~2/MICROS~1.0/Common7/IDE/devenv.com 更改为 C:/PROGRA~2/MICROS~1.0/Common7/IDE/VCExpress.exe - 注意正斜杠!

一旦我这样做了,我就不再需要做 find_library 的事情了。

关于visual-studio-2010 - 如何在 CMake 中添加 Windows 库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17846850/

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