2013-02-27 20 views
8

ho trovato solo questa stringhecome collegare winsock in cmake?

find_library(WSOCK32_LIBRARY wsock32) 
    find_library(WS2_32_LIBRARY ws2_32) 

(io sono principiante in cmake) come collegare Winsock2 (Winsock?) In cmake?

risposta

16

Dato che entrambi fanno parte dell'SDK di Windows, non è necessario eseguire una ricerca. Supponendo di avere l'SDK installato, puoi fare qualcosa del tipo:

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

infatti, "non dovresti" aver bisogno di fare una ricerca per loro. Tuttavia, nella remota possibilità che tu ... puoi CMAKE trovarli? Ad esempio se stai utilizzando MinGW attraverso un driver del compilatore insolito? – cheshirekow

+1

Sì, puoi usare ['find_library'] (http://www.cmake.org/cmake/help/v2.8.11/cmake.html#command:find_library) per ogni libreria per ottenere il percorso completo, quindi includi semplicemente il risultato nella tua chiamata 'target_link_libraries' al posto del semplice 'wsock32' e/o' ws2_32'. – Fraser

Problemi correlati