Windows-VC++ 2008 Linux gcc 4.4.3Herstellungsbedingungen für Linux und Windows, wenn Bibliotheken
Verknüpfung habe ich folgendes Problem. Wenn ich auf Windows kompiliere, brauche ich die Bibliothek ws2_32. Wenn ich jedoch unter Linux kompiliere, muss ich das nicht verlinken.
Mein CMakeLists.txt
INCLUDE_DIRECTORIES($CLIENT_SERVER_SOURCE_DIR/client)
INCLUDE_DIRECTORIES($CLIENT_SERVER_SOURCE_DIR/cltsvr_ults)
# Link the library
LINK_DIRECTORIES($CLIENT_SERVER_DIR/client)
# Add the executable
ADD_EXECUTABLE(clt test_clt)
# Link the executable to the client library
IF(WIN32)
TARGET_LINK_LIBRARIES(clt client ws2_32)
ENDIF(WIN32)
IF(CMAKE_COMPILER_IS_GNUCXXX)
TARGET_LINK_LIBRARIES(clt client)
ENDIF(CMAKE_COMPILER_IS_GNUCXXX)
Ich habe erfolglos versucht, unter Linux zu kompilieren. Verwenden Sie die oben genannten Bedingungen. Allerdings versucht es immer die ws2_32 zu verlinken und bekomme einen Kompilierfehler. Ich denke, dass die Bedingungen nicht funktionieren, da es immer durch den WIN32-Zustand fällt.
vielen Dank für alle Vorschläge,
Ja, Sie waren 100% richtig, es war das Extra X. Danke – ant2009