Mohammad Rahbari Doust 1 ارسال شده در اسفند 98 سلام من میخوام کتابخونه tz رو توی پروژه کیوت استفاده بکنم ولی لینک ارور میده .ظاهرا باید از cmake استفاده کرد اما بلد نیستم. منابع خوب و سریعی هم اگر دارید معرفی کنید . تشکر 1 نقل قول به اشتراک گذاری این ارسال لینک به ارسال به اشتراک گذاری در سایت های دیگر
2 کامبیز اسدزاده 618 ارسال شده در اسفند 98 در 11 ساعت قبل، Mohammad Rahbari Doust گفته است : سلام من میخوام کتابخونه tz رو توی پروژه کیوت استفاده بکنم ولی لینک ارور میده .ظاهرا باید از cmake استفاده کرد اما بلد نیستم. منابع خوب و سریعی هم اگر دارید معرفی کنید . تشکر سلام، خطای لینکر مبنی بر این است که فایل ساخته شدهٔ کتابخانه قابل شناسایی نیست. قبل از هر چیز دستورات زیر را به ترتیب برای کامپایل (ساخت) کتابخانهٔ tz اجرا کنید تا فایل libtz.a ساخته شود. mkdir build cd build cmake ../ cmake -DENABLE_DATE_TESTING=ON --build . make در نهایت وارد یک پروژهٔ جدید بشید تا برای افزودن کتابخانه به صورت زیر عمل کنید: فایل libtz.a را در یک پوشهای با نام lib و محتوای کتابخانه را در پوشهای با نام include در کنار پروژهٔ خودتان قرار دهید. به دلیل اینکه این کتابخانه وابستهٔ کتابخانهٔ curl است، مطمئن شوید که آن نیز بر روی سیستم شما نصب باشد. دستورات زیر را در سیمیک برای افزودن کتابخانهٔ libtz بنویسید. add_library( date ${CMAKE_CURRENT_SOURCE_DIR}/include ) link_directories(${CMAKE_CURRENT_SOURCE_DIR}/lib) target_link_libraries(${PROJECT_NAME} PRIVATE tz) احتمالاً خطایی برای عدم توانایی لینکسازی با curl دریافت کنید، در این صورت دستورات زیر را در سیمیک اضافه کنید: FIND_PACKAGE(CURL) IF(CURL_FOUND) INCLUDE_DIRECTORIES(${CURL_INCLUDE_DIR}) SET(requiredlibs ${requiredlibs} ${CURL_LIBRARIES} ) ELSE(CURL_FOUND) MESSAGE(FATAL_ERROR "Could not find the CURL library and development files.") ENDIF(CURL_FOUND) target_link_libraries(${PROJECT_NAME} PRIVATE curl) یک مثال از پروژهای که من libtz را همراه کیوت ادغام کردم: cmake_minimum_required(VERSION 3.5) project(HelloCMake LANGUAGES CXX) set(CMAKE_INCLUDE_CURRENT_DIR ON) set(CMAKE_AUTOUIC ON) set(CMAKE_AUTOMOC ON) set(CMAKE_AUTORCC ON) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) find_package(Qt5 COMPONENTS Widgets REQUIRED) FIND_PACKAGE(CURL) IF(CURL_FOUND) INCLUDE_DIRECTORIES(${CURL_INCLUDE_DIR}) SET(requiredlibs ${requiredlibs} ${CURL_LIBRARIES} ) ELSE(CURL_FOUND) MESSAGE(FATAL_ERROR "Could not find the CURL library and development files.") ENDIF(CURL_FOUND) add_library( date ${CMAKE_CURRENT_SOURCE_DIR}/include ) link_directories(${CMAKE_CURRENT_SOURCE_DIR}/lib) if(ANDROID) add_library(HelloCMake SHARED main.cpp mainwindow.cpp mainwindow.hpp mainwindow.ui ) else() add_executable(HelloCMake main.cpp mainwindow.cpp mainwindow.hpp mainwindow.ui ) endif() target_link_libraries(${PROJECT_NAME} PRIVATE Qt5::Widgets) target_link_libraries(${PROJECT_NAME} PRIVATE tz) target_link_libraries(${PROJECT_NAME} PRIVATE curl) بعد از این نباید در زمان کامپایل خطایی رُخ دهد. موفق باشید! 1 نقل قول به اشتراک گذاری این ارسال لینک به ارسال به اشتراک گذاری در سایت های دیگر
سلام
من میخوام کتابخونه tz رو توی پروژه کیوت استفاده بکنم ولی لینک ارور میده .ظاهرا باید از cmake استفاده کرد اما بلد نیستم. منابع خوب و سریعی هم اگر دارید معرفی کنید . تشکر
به اشتراک گذاری این ارسال
لینک به ارسال
به اشتراک گذاری در سایت های دیگر