मैं CMAKE के लिए एक शुरुआत हूं। नीचे एक सरल cmake फ़ाइल है जो mingw वातावरण की खिड़कियों में अच्छी तरह से काम करती है। समस्या स्पष्ट रूप target_link_libraries()
से CMAKE के कार्य के साथ है जहां मैं libwsock32.a लिंक कर रहा हूं। खिड़कियों में यह काम करता है और मुझे परिणाम मिलते हैं।
हालाँकि, उम्मीद के मुताबिक, लिनक्स में, वह /usr/bin/ld
दिखेगा -lwsock32
जिसके लिए लिनक्स ओएस नहीं है।
मेरी समस्या यह है: मैं लिनक्स ओएस में wsock32 पुस्तकालय को जोड़ने से बचने के लिए CMAKE को कैसे निर्देश दे सकता हूं ???
किसी भी प्रकार की सहायता सराहनीय होगी।
मेरी सरल CMake फ़ाइल:
PROJECT(biourl)
set (${PROJECT_NAME}_headers ./BioSocketAddress.h ./BioSocketBase.h ./BioSocketBuffer.h ./BioSocketCommon.h ./BioSocketListener.h ./BioSocketPrivate.h ./BioSocketStream.h ./BioUrl.h BioDatabase.h )
set (${PROJECT_NAME}_sources BioSocketAddress.C BioSocketBase.C BioSocketCommon.C BioSocketStream.C BioUrl.C BioDatabase.C )
add_library(${PROJECT_NAME} STATIC ${${PROJECT_NAME}_headers} ${${PROJECT_NAME}_sources} )
# linkers
#find_library(ws NAMES wsock32 PATHS ${PROJECT_SOURCE_DIR} NO_SYSTEM_ENVIRONMENT_PATH NO_DEFAULT_PATH)
target_link_libraries(${PROJECT_NAME} bioutils wsock32)
install (TARGETS ${PROJECT_NAME}
RUNTIME DESTINATION bin
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib/archive )