2013-04-14 2 views
1

CMake로 libappindicator에 의존하는 Vala 프로젝트를 컴파일하려고합니다.CMake로 Vala 프로젝트 컴파일

그러나이 만들이 출력을 중단 :

Linking C executable calm 
CMakeFiles/calm.dir/src/CalmWindow.c.o: In function `__lambda6_': 
CalmWindow.c:(.text+0x5b8): undefined reference to `app_indicator_set_status' 
CMakeFiles/calm.dir/src/CalmWindow.c.o: In function `calm_calm_indicator_construct': 
CalmWindow.c:(.text+0x6ee): undefined reference to `app_indicator_new' 
CalmWindow.c:(.text+0x746): undefined reference to `app_indicator_set_status' 
CalmWindow.c:(.text+0x76c): undefined reference to `app_indicator_set_attention_icon' 
CalmWindow.c:(.text+0xe87): undefined reference to `app_indicator_set_menu' 
collect2: ld gab 1 als Ende-Status zurück 
make[2]: *** [calm] Fehler 1 
make[1]: *** [CMakeFiles/calm.dir/all] Fehler 2 
make: *** [all] Fehler 2 

내 CMakeLists.txt에 문제가 있습니까? 코드는 여기 호스팅 : https://code.launchpad.net/~alexander-wilms/calm/calm

이 명령이 작동 : 작동

valac -g --pkg gtk+-3.0 --pkg gstreamer-0.10 --pkg gstreamer-audio-0.10 --pkg granite --pkg appindicator3-0.1 CalmApp.vala Calm.vala CalmWindow.vala 
+0

, 연결 명령을 CMake 실행하려고 무엇을? – apmasell

+0

이것은 무엇입니까? PACKAGES GTK + -3.0 gstreamer를-0.10 gstreamer를 오디오 - 0.10 화강암 appindicator3-0.1 내가 CMake에 새로 온 사람과 일반적으로 자동화를 구축, 그래서 튜토리얼을 따라 그것을 조금 적응 : HTTP : // bazaar.launchpad.net/~alexander-wilms/calm/calm/view/head:/CMakeLists.txt –

답변

1

그 방법 :

[...] 
########### 
set(COMPILE_OPTIONS_VALA ${COMPILE_OPTIONS_VALA} -D USE_APPINDICATOR) 
set(PACKAGES_VALA ${PACKAGES_VALA} "appindicator3-0.1") 
########### 

include(ValaPrecompile) 
vala_precompile(VALA_C 
     src/Calm.vala 
     src/CalmApp.vala 
     src/CalmWindow.vala 
PACKAGES 
     gtk+-3.0 
     gstreamer-0.10 
     gstreamer-audio-0.10 
     appindicator3-0.1 
CUSTOM_VAPIS 
     vapi/config.vapi 
OPTIONS 
     --thread 
) 
[...] 
관련 문제