của Windows VC++ 2008 linux gcc 4.4.3làm điều kiện cho Linux và cửa sổ khi liên kết các thư viện
Tôi có vấn đề sau đây. Khi tôi biên dịch trên windows, tôi cần thư viện ws2_32. Tuy nhiên, khi tôi biên dịch trên Linux, tôi không cần phải liên kết này.
My 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)
Tôi đã cố gắng không thành công để biên dịch dưới Linux. Sử dụng các điều kiện trên. Tuy nhiên, nó luôn luôn cố gắng liên kết ws2_32 và tôi nhận được một lỗi biên dịch. Tôi nghĩ rằng các điều kiện không hoạt động, vì nó luôn rơi qua điều kiện WIN32.
cảm ơn rất nhiều cho bất cứ đề nghị,
Có, bạn đã chính xác 100%, đó là thêm X. Cảm ơn – ant2009