मैं समान जोड़ने त्रुटियों हो रही थी। मेरे त्रुटि कह रहे थे:
/usr/local/lib/libglfw3.a(x11_init.c.o): In function `initExtensions':
x11_init.c:(.text+0x16d3): undefined reference to `XIQueryVersion'
/usr/local/lib/libglfw3.a(x11_window.c.o): In function `createWindow':
x11_window.c:(.text+0x6de): undefined reference to `XISelectEvents'
लेकिन चूंकि मैं CMake जोड़ने झंडे आवश्यक जोड़ने libs के लिए करना चाहता था, यह मेरे कुछ समय लिया ऐसा करने के लिए। बाहरी libs आवश्यक, glfw आधारित कार्यक्रम को संकलित करने, कर रहे हैं:
Requires.private: x11 xrandr xi xxf86vm gl
This धागा इन libs glfw आधारित कार्यक्रम संकलन करने के लिए आवश्यक लगाने के लिए कैसे पता चलता है।
, जब से मैं 2-3 घंटे बिताए CMake ऊपर अतिरिक्त जोड़ने libs के लिए झंडे को जोड़ने के लिए देख। मुझे लगता है कि दूसरों की मदद करने के लिए यहां उल्लेख करना उचित है।
मुख्य रूप से मैंने ऊपर वर्णित त्रुटि के लिए, मुझे केवल xi
के लिए एक सेमेक लिंकिंग ध्वज की आवश्यकता है, लेकिन पूर्णता के लिए मैं उन सभी के लिए उल्लेख कर रहा हूं, यानी x11 xrandr xi xxf86vm
। यहाँ मेरी CMakeLists.txt
फ़ाइल से टुकड़ा है:
include_directories(
./src
${X11_xf86vmode_INCLUDE_PATH}
${X11_Xrandr_INCLUDE_PATH}
${X11_Xinput_INCLUDE_PATH}
)
target_link_libraries(
${GLFW_LIBRARIES}
${X11_LIBRARIES}
${X11_Xxf86vm_LIB}
${X11_Xrandr_LIB}
${X11_Xinput_LIB}
)
मैं इस link से इन झंडे निकाले। आशा है, यह दूसरों के लिए समय बचाएगा। का आनंद लें!
मैं गूगल में XIQueryVersion' टाइप 'होगा। –
फ़ोरम, प्रलेखन, Google, विकी;) – gaussblurinc