2013-02-27 266 views
8

我發現只有這個絃樂器如何在cmake中連接winsock?

find_library(WSOCK32_LIBRARY wsock32) 
    find_library(WS2_32_LIBRARY ws2_32) 

(我是初學者在cmake的) 如何在cmake的鏈接Winsock2的(Winsock的?)?

回答

16

由於這些都是Windows SDK的一部分,因此您不需要爲它們執行搜索。假設你已經安裝了SDK,你可以這樣做:

add_executable(MyExe main.cpp) 
if(WIN32) 
    target_link_libraries(MyExe wsock32 ws2_32) 
endif() 
+1

的確,你「不應該」需要爲它們進行搜索。然而,在你這樣做的時候...... CMAKE可以找到它們嗎?例如,如果你通過一個不尋常的編譯器驅動程序使用MinGW? – cheshirekow 2013-06-24 13:50:51

+1

是的,您可以使用['find_library'](http://www.cmake.org/cmake/help/v2.8.11/cmake.html#command:find_library)獲取每個庫的完整路徑,然後只需將結果包含在您的'target_link_libraries'調用中以代替裸'wsock32'和/或'ws2_32'。 – Fraser 2013-06-24 18:58:34