انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید

نویسنده موضوع: کد CMakeLists.txt برای استفاده از gtk {حل شد}  (دفعات بازدید: 1209 بار)

0 کاربر و 1 مهمان درحال مشاهده موضوع.

آفلاین robotic

  • Full Member
  • *
  • ارسال: 176
  • جنسیت : پسر
کد CMakeLists.txt برای استفاده از gtk {حل شد}
« : 30 اردیبهشت 1393، 07:35 ب‌ظ »
توی فایل CMakeLists.txt چه بنویسم که کتابخانه های gtk را شناسایی کند؟

یک نمونه تو نت پیدا کردم اما کار نمی کند

cmake_minimum_required(VERSION 2.8)

project(gt)

find_package(PkgConfig REQUIRED)
pkg_check_modules(GTK3 REQUIRED gtk+-3.0)
INCLUDE_DIRECTORIES({GTK3_INCLUDE_DIRS})
link_directories(${GTK3_LIBRARY_DIRS})
add_definitions(${GTK3_CFLAGS_OTHER})

add_executable(gt main.cpp)
TARGET_LINK_LIBRARIES(gt ${GTK3_LIBRARIES})

لازم به ذکر است هر دو فایل زیر موجود است

/usr/include/gtk-2.0/gtk/gtk.h
/usr/include/gtk-3.0/gtk/gtk.h

بعضی جاها گفته بودند libgtk-3-dev را نصب کنم. که قبلا نصب کرده بودم

$ sudo apt-get install libgtk-3-dev
Reading package lists... Done
Building dependency tree       
Reading state information... Done
libgtk-3-dev is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 7 not upgraded.

در تمام موارد فوق ارور زیر را می دهد

$ make
Scanning dependencies of target gt
[100%] Building CXX object CMakeFiles/gt.dir/main.cpp.o
/home/robotics/cv/gt/main.cpp:2:21: fatal error: gtk/gtk.h: No such file or directory
 #include <gtk/gtk.h>
                     ^
compilation terminated.
make[2]: *** [CMakeFiles/gt.dir/main.cpp.o] Error 1
make[1]: *** [CMakeFiles/gt.dir/all] Error 2
make: *** [all] Error 2
« آخرین ویرایش: 31 اردیبهشت 1393، 01:05 ب‌ظ توسط robotic »

آفلاین robotic

  • Full Member
  • *
  • ارسال: 176
  • جنسیت : پسر
پاسخ : کد CMakeLists.txt برای استفاده از gtk
« پاسخ #1 : 31 اردیبهشت 1393، 01:02 ب‌ظ »
با سعی و خطا به نتیجه زیر رسیدم. گفتم نویسم شاید به درد کسی دیگری نیز خورد

cmake_minimum_required(VERSION 2.8.12)

project(gt)

find_package(PkgConfig REQUIRED)
pkg_check_modules(GTK3 REQUIRED gtk+-3.0)
add_definitions(`pkg-config gtk+-3.0 --cflags`)
add_executable(gt main.cpp)
add_definitions(`pkg-config gtk+-3.0 --libs`)
TARGET_LINK_LIBRARIES(gt ${GTK3_LIBRARIES})
« آخرین ویرایش: 31 اردیبهشت 1393، 01:12 ب‌ظ توسط robotic »