2011-02-10 119 views
4

我試圖編譯使用Eclipse CDT的gtkmm的Simple Example,但它不工作由於某種原因使用的gtkmm與Eclipse CDT

我上的Mandriva Linux和GCC 4.4.3編譯這個

我得到這個錯誤,我認爲這是一個錯誤鏈接:

Building target: Test 
Invoking: GCC C++ Linker 
g++ -L/usr/include/gtkmm-2.4 -o"Test" ./test.o 
./test.o: In function `main': 
test.cpp:(.text+0x39): undefined reference to `Gtk::Main::Main(int&, char**&, bool)' 
test.cpp:(.text+0x43): undefined reference to `Gtk::Window::Window(Gtk::WindowType)' 
test.cpp:(.text+0x4b): undefined reference to `Gtk::Main::run(Gtk::Window&)' 
test.cpp:(.text+0x53): undefined reference to `Gtk::Window::~Window()' 
test.cpp:(.text+0x5b): undefined reference to `Gtk::Main::~Main()' 
test.cpp:(.text+0x82): undefined reference to `Gtk::Main::~Main()' 
test.cpp:(.text+0x95): undefined reference to `Gtk::Window::~Window()' 
./test.o: In function `global constructors keyed to main': 
test.cpp:(.text+0xaf): undefined reference to `Glib::ustring::ustring(char const*)' 
test.cpp:(.text+0xbe): undefined reference to `Glib::ustring::~ustring()' 
test.cpp:(.text+0xd2): undefined reference to `Glib::ustring::ustring(char const*)' 
test.cpp:(.text+0xe1): undefined reference to `Glib::ustring::~ustring()' 
test.cpp:(.text+0xf5): undefined reference to `Glib::ustring::ustring(char const*)' 
test.cpp:(.text+0x104): undefined reference to `Glib::ustring::~ustring()' 
test.cpp:(.text+0x118): undefined reference to `Glib::ustring::ustring(char const*)' 
test.cpp:(.text+0x127): undefined reference to `Glib::ustring::~ustring()' 
test.cpp:(.text+0x13b): undefined reference to `Glib::ustring::ustring(char const*)' 
test.cpp:(.text+0x14a): undefined reference to `Glib::ustring::~ustring()' 
test.cpp:(.text+0x15e): undefined reference to `Glib::ustring::ustring(char const*)' 
test.cpp:(.text+0x16d): undefined reference to `Glib::ustring::~ustring()' 
test.cpp:(.text+0x181): undefined reference to `Glib::ustring::ustring(char const*)' 
test.cpp:(.text+0x190): undefined reference to `Glib::ustring::~ustring()' 
collect2: ld returned 1 exit status 
make: *** [Test] Error 1 

很抱歉的長期錯誤日誌,但我不知道如何使它更短

+0

你在做什麼這裏說:http://library.gnome.org/devel/gtkmm-tutorial/unstable/sec-install-unix-and-linux.html.en – yasouser 2011-02-10 15:46:38

+0

我已經安裝了devel軟件包,或者你的意思是我應該從源代碼編譯它? – 2011-02-10 17:47:38

回答

1

你要添加的所有日當您在終端中運行pkg-config gtkmm-2.4 --cflags --libs時,e庫會列出。據我所知,Eclipse與pkg-config不兼容,所以你必須手動添加它們。

右鍵單擊您的項目>屬性> C/C++編譯>設置

在GCC C++編譯器,在目錄中,加列出的每個目錄,當你運行 pkg-config gtkmm-2.4 --cflags (只是目錄,刪除-I和 - 並行線程)

在GCC C++鏈接,圖書館,從 pkg-config --libs (再次添加一切,只是添加庫,刪除-l和-pthread)

+0

如何找出哪些目錄使用pkg-config列出? – 2011-03-21 16:27:06

4

項目鐠operty-> C/C++ Build->設置 GCC C++編譯器 - >其他,將這個字符串:pkg-config gtkmm-3.0 --cflags --libs添加到其他標誌中。 GCC C++鏈接器 - >其他,在鏈接器標誌中添加此字符串:pkg-config gtkmm-3.0 --cflags --libs。 如果您使用gtkmm 2.4,只需將「gtkmm-3.0」替換爲「gtkmm-2.4」

勾選GCC C++編譯器VERBOSE(_V)字符串。