क्योंकि clock_gettime
librt
हम जब जांच कर रही है कि करने के लिए लिंक करने की आवश्यकता में पाया जाता है (अन्यथा CMake बस परीक्षण कार्यक्रम यह समारोह मौजूद रहने पर परीक्षण करने के लिए उत्पन्न करता है संकलित करने के लिए असफल हो जायेगी)।
CHECK_FUNCTION_EXISTS
के साथ यह संभव नहीं है। इसके बजाय CHECK_LIBRARY_EXISTS इस्तेमाल किया जाना चाहिए:
include(CheckLibraryExists)
CHECK_LIBRARY_EXISTS(rt clock_gettime "time.h" HAVE_CLOCK_GETTIME)
अब यह काम और उत्पादन होगा:
-- Looking for clock_gettime in rt - found
अद्यतन: नए glibc में 2.17+ clock_gettime
librt
से libc
ले जाया गया है।
तो तुम दो जांच कर करने की आवश्यकता होगी सभी सिस्टम पर clock_gettime
खोजने के लिए सुनिश्चित करने के लिए:
include(CheckLibraryExists)
CHECK_LIBRARY_EXISTS(rt clock_gettime "time.h" HAVE_CLOCK_GETTIME)
if (NOT HAVE_CLOCK_GETTIME)
set(CMAKE_EXTRA_INCLUDE_FILES time.h)
CHECK_FUNCTION_EXISTS(clock_gettime HAVE_CLOCK_GETTIME)
SET(CMAKE_EXTRA_INCLUDE_FILES)
endif()
यह glibc 2.17 रिलीज के साथ बदल जाएगा । घड़ी_ * प्रतीकों को libc में स्थानांतरित किया जा रहा है और कोड को अब पुस्तकालय के खिलाफ लिंक करने की आवश्यकता नहीं होगी। –