如何在cmake中链接winsock?

Fed*_*omp 11 c++ winsock cmake

我发现只有这个字符串

    find_library(WSOCK32_LIBRARY wsock32)
    find_library(WS2_32_LIBRARY ws2_32)
Run Code Online (Sandbox Code Playgroud)

(我是cmake的初学者)如何在cmake中链接winsock2(winsock?)?

Fra*_*ser 24

由于这些都是Windows SDK的一部分,因此您不需要搜索它们.假设您安装了SDK,您可以执行以下操作:

add_executable(MyExe main.cpp)
if(WIN32)
  target_link_libraries(MyExe wsock32 ws2_32)
endif()
Run Code Online (Sandbox Code Playgroud)

  • 实际上,您“不应该”需要搜索它们。但是,如果您有机会...... CMAKE 可以找到它们吗?例如,如果您通过一个不寻常的编译器驱动程序使用 MinGW? (2认同)
  • 是的,您可以对每个库使用 [`find_library`](http://www.cmake.org/cmake/help/v2.8.11/cmake.html#command:find_library) 来获取它的完整路径,然后只需将结果包含在你的 `target_link_libraries` 调用中,代替裸露的 `wsock32` 和/或 `ws2_32`。 (2认同)