2011-11-22 1 views
3

Code :: Blocks와 함께 제공되는 기본 WxWidget 템플릿을 가져올 수 없습니다. I 나타나는 오류는 (다른 사람의 사이에) error "No Target! You should use wx-config program for compilation flags!Code :: Blocks WxWidget 오류 - 대상 없음! 컴파일 플래그는 wx-config 프로그램을 사용해야합니까?

구글은 일부 링크를 알려준하지만 난 내가 찾은

한 유사한 스레드를 알아낼 수없는 것입니다; http://forums.codeblocks.org/index.php?topic=10122.0

"문제는 비표준 디렉토리 트리에 wxwisgets를 설치했을 가능성이 있습니다."

wx-config --list

보고서 :

wxconf

wx-config --prefix=/opt --list

보고서 :

wxconfpreopt

이 C인가 orrect? 나는 말할 수 없다.

또 다른 유사한 스레드; http://www.justlinux.com/forum/archive/index.php/t-105554.html

그 화제에있는 사람이 컴파일/링크 플래그로 g++ 'wx-config --cflags' -o wxTest wxTest.cpp을 추가했지만 Code : Blocks의 "링커 설정 -> 다른 링커 옵션"에 추가하려고 시도했지만 아무 것도하지 않는 것 같습니다.

링커 :

linkopts

포함 : inclds

나는 매우 혼란이 모든 링커의 사업을 발견하고 나는거야 어디 있는지 알아낼 수 없습니다 이것에 틀리다.

전체 오류 목록 :

/var/wxWidgets-2.8.12/include/wx/defs.h|42|error: #error "No Target! You should use wx-config program for compilation flags!"| 
/var/wxWidgets-2.8.12/include/wx/gtk/cursor.h|40|error: ISO C++ forbids declaration of ‘GdkCursor’ with no type| 
/var/wxWidgets-2.8.12/include/wx/gtk/cursor.h|40|error: expected ‘;’ before ‘*’ token| 
/var/wxWidgets-2.8.12/include/wx/gtk/app.h|55|error: ‘guint’ does not name a type| 
/var/wxWidgets-2.8.12/include/wx/gtk/app.h|65|error: ISO C++ forbids declaration of ‘GdkVisual’ with no type| 
/var/wxWidgets-2.8.12/include/wx/gtk/app.h|65|error: expected ‘;’ before ‘*’ token| 
/var/wxWidgets-2.8.12/include/wx/gtk/colour.h|26|error: ISO C++ forbids declaration of ‘GdkColor’ with no type| 
/var/wxWidgets-2.8.12/include/wx/gtk/colour.h|26|error: expected ‘,’ or ‘...’ before ‘&’ token| 
/var/wxWidgets-2.8.12/include/wx/gtk/colour.h|42|error: ‘GdkColormap’ has not been declared| 
/var/wxWidgets-2.8.12/include/wx/gtk/colour.h|45|error: ISO C++ forbids declaration of ‘GdkColor’ with no type| 
/var/wxWidgets-2.8.12/include/wx/gtk/colour.h|45|error: expected ‘;’ before ‘*’ token| 
/var/wxWidgets-2.8.12/include/wx/gtk/region.h|59|error: expected ‘)’ before ‘*’ token| 
/var/wxWidgets-2.8.12/include/wx/gtk/region.h|61|error: ISO C++ forbids declaration of ‘GdkRegion’ with no type| 
/var/wxWidgets-2.8.12/include/wx/gtk/region.h|61|error: expected ‘;’ before ‘*’ token| 
/var/wxWidgets-2.8.12/include/wx/window.h|1133|error: ‘WXWidget’ does not name a type| 
/var/wxWidgets-2.8.12/include/wx/window.h|1135|error: ‘WXWidget’ has not been declared| 
/var/wxWidgets-2.8.12/include/wx/window.h|1293|error: field ‘m_palette’ has incomplete type| 
/var/wxWidgets-2.8.12/include/wx/window.h||In member function ‘wxPalette wxWindowBase::GetPalette() const’:| 
/var/wxWidgets-2.8.12/include/wx/window.h|1142|error: return type ‘struct wxPalette’ is incomplete| 
/var/wxWidgets-2.8.12/include/wx/window.h|1142|error: ‘m_palette’ was not declared in this scope| 
/var/wxWidgets-2.8.12/include/wx/gtk/window.h|19|error: expected initializer before ‘*’ token| 
/var/wxWidgets-2.8.12/include/wx/gtk/window.h|19|error: ‘_wxArraywxArrayGdkWindows’ was not declared in this scope| 
/var/wxWidgets-2.8.12/include/wx/gtk/window.h|19|error: typedef ‘CMPFUNC_wxArraywxArrayGdkWindows’ is initialized (use decltype instead)| 
/var/wxWidgets-2.8.12/include/wx/gtk/window.h|19|error: ‘_wxArraywxArrayGdkWindows’ was not declared in this scope| 
/var/wxWidgets-2.8.12/include/wx/gtk/window.h|19|error: ‘pItem1’ was not declared in this scope| 
/var/wxWidgets-2.8.12/include/wx/gtk/window.h|19|error: ‘_wxArraywxArrayGdkWindows’ was not declared in this scope| 
/var/wxWidgets-2.8.12/include/wx/gtk/window.h|19|error: ‘pItem2’ was not declared in this scope| 
/var/wxWidgets-2.8.12/include/wx/gtk/window.h|19|error: ISO C++ forbids declaration of ‘_wxArraywxArrayGdkWindows’ with no type| 
/var/wxWidgets-2.8.12/include/wx/gtk/window.h|19|error: expected ‘;’ before ‘&’ token| 
/var/wxWidgets-2.8.12/include/wx/gtk/window.h|19|error: expected ‘;’ before ‘_wxArraywxArrayGdkWindows’| 
/var/wxWidgets-2.8.12/include/wx/gtk/window.h|19|error: ISO C++ forbids declaration of ‘_wxArraywxArrayGdkWindows’ with no type| 
/var/wxWidgets-2.8.12/include/wx/gtk/window.h|19|error: expected ‘;’ before ‘&’ token| 
/var/wxWidgets-2.8.12/include/wx/gtk/window.h|19|error: expected ‘;’ before ‘_wxArraywxArrayGdkWindows’| 
/var/wxWidgets-2.8.12/include/wx/gtk/window.h|19|error: ISO C++ forbids declaration of ‘_wxArraywxArrayGdkWindows’ with no type| 
/var/wxWidgets-2.8.12/include/wx/gtk/window.h|19|error: expected ‘;’ before ‘&’ token| 
/var/wxWidgets-2.8.12/include/wx/gtk/window.h|19|error: expected ‘;’ before ‘int’| 
/var/wxWidgets-2.8.12/include/wx/gtk/window.h|19|error: ‘_wxArraywxArrayGdkWindows’ has not been declared| 
/var/wxWidgets-2.8.12/include/wx/gtk/window.h|19|error: ‘_wxArraywxArrayGdkWindows’ has not been declared| 
/var/wxWidgets-2.8.12/include/wx/gtk/window.h|19|error: ‘_wxArraywxArrayGdkWindows’ has not been declared| 
/var/wxWidgets-2.8.12/include/wx/gtk/window.h|19|error: ‘_wxArraywxArrayGdkWindows’ has not been declared| 
/var/wxWidgets-2.8.12/include/wx/gtk/window.h|19|error: ‘CMPFUNC_wxArraywxArrayGdkWindows’ has not been declared| 
/var/wxWidgets-2.8.12/include/wx/gtk/window.h|19|error: ‘_wxArraywxArrayGdkWindows’ does not name a type| 
/var/wxWidgets-2.8.12/include/wx/gtk/window.h|19|error: ‘_wxArraywxArrayGdkWindows’ does not name a type| 
/var/wxWidgets-2.8.12/include/wx/gtk/window.h|19|error: ‘_wxArraywxArrayGdkWindows’ does not name a type| 
/var/wxWidgets-2.8.12/include/wx/gtk/window.h|132|error: ‘WXWidget’ does not name a type| 
/var/wxWidgets-2.8.12/include/wx/gtk/window.h|171|error: ISO C++ forbids declaration of ‘GtkWidget’ with no type| 
/var/wxWidgets-2.8.12/include/wx/gtk/window.h|171|error: ‘GtkWidget’ declared as a ‘virtual’ field| 
/var/wxWidgets-2.8.12/include/wx/gtk/window.h|171|error: expected ‘;’ before ‘*’ token| 
/var/wxWidgets-2.8.12/include/wx/gtk/window.h|172|error: ‘GtkWidget’ has not been declared| 
/var/wxWidgets-2.8.12/include/wx/gtk/window.h|186|error: ‘GtkWidget’ has not been declared| 
/var/wxWidgets-2.8.12/include/wx/gtk/window.h|187|error: ‘GtkWidget’ has not been declared| 
||More errors follow but not being shown.| 
||Edit the max errors limit in compiler options...| 
||=== Build finished: 50 errors, 0 warnings ===| 

내가 대답이 바로 그 스레드 중 하나에서 내 앞에 있음을 이해하지만 때문에 내 경험 부족에 내 상황에 솔루션을 적용 할 수없는 것. 나는 무작위적인 것을 시도한 후 1 시간을 포기했다.

답변

4

나는 codeblocks에 대한 경험이 없지만 wx-config는 wxWidgets에 필요한 플래그와 라이브러리를 제공합니다.

wx-config --cxxflags 

은 포함 디렉토리와 #define과 같은 컴파일러 플래그를 제공합니다. 내 시스템에서이 연결을 위해 당신에게 라이브러리 경로 및 라이브러리를 줄 것이다 반대편

wx-config --libs 

에 나에게

-I/usr/local/lib/wx/include/gtk2-unicode-2.9 -I/usr/local/include/wx-2.9 -D_FILE_OFFSET_BITS=64 -DWXUSINGDLL -D__WXGTK__ -pthread 

을 제공합니다.

-L/usr/local/lib -pthread -lwx_gtk2u_xrc-2.9 -lwx_gtk2u_html-2.9 -lwx_gtk2u_qa-2.9 -lwx_gtk2u_adv-2.9 -lwx_gtk2u_core-2.9 -lwx_baseu_xml-2.9 -lwx_baseu_net-2.9 -lwx_baseu-2.9 

내 시스템 결과에 어떤 그래서 당신은 아마 해당 명령의 출력을 사용하여 코드 :: 블록의 각 옵션을 입력 할 수 있습니다.

다른 대안은 간단한 wxWidgets 애플리케이션을 생성하기 위해 CMake를 사용하고, Code :: Blocks 프로젝트를 빌드 한 다음 자신의 애플리케이션을 위해이를 빼내 버릴 수 있습니다.

+0

이것은 정말로 이상하지만, 리눅스를 재부팅 한 후에는 Code .. :: Blocks 프로젝트를 전혀 변경하지 않고 모든 일을 처리했습니다. Idk 때문에 모든 것을 설치 한 후 "ldconfig"를 사용했는데 왜 갑자기 작동합니까? – natli

관련 문제