Tôi đang sử dụng phiên bản Eclipse C/C++ để xây dựng một ứng dụng GTK đơn giản. Tuy nhiên, tôi dường như không thể biên dịch một mẫu GTK từ bên trong Eclipse. Tôi có thể biên dịch một ứng dụng thử nghiệm kiểu Hello World đơn giản, vì vậy tôi biết chính chuỗi công cụ đang hoạt động. Tuy nhiên, thời điểm tôi bắt đầu thêm GTK vào hỗn hợp trình biên dịch đi kèm với lỗi. Điều thú vị là tôi có thể biên dịch các ví dụ bên ngoài môi trường Eclipse tốt. Ví dụ: tôi đang sử dụng các ví dụ trên trang this và làm theo hướng dẫn được cung cấp ở đó để tôi tạo một tệp nhị phân hoạt động.Biên dịch C/GTK trong Eclipse
Tôi nghĩ rằng vấn đề đầu tiên là GTK chính bao gồm tệp được tham chiếu khác nhau khi tôi cố gắng biên dịch trong Eclipse. Phiên bản không phải Eclipse mà tôi có thể biên dịch với (như trong ví dụ):
#include <gtk/gtk.h>
Tuy nhiên, trong Eclipse điều này không có tác dụng. Tôi cần phải thay đổi nó thành:
#include <gtk-2.0/gtk/gtk.h>
Sau đó, tệp có thể được tìm thấy nhưng quá trình biên dịch bắt đầu ném lỗi về loại GtkWidget. Ví dụ .:
#include <gtk-2.0/gtk/gtk.h>
int main(int argc, char *argv[])
{
GtkWidget *window;
gtk_init (&argc, &argv);
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_widget_show (window);
gtk_main();
return 0;
}
Kết quả trong các lỗi:
make all
Building file: ../src/main.c
Invoking: GCC C Compiler
gcc -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"src/main.d" -MT"src/main.d" -o"src/main.o" "../src/main.c"
../src/main.c: In function ‘main’:
../src/main.c:7: error: ‘GtkWidget’ undeclared (first use in this function)
../src/main.c:7: error: (Each undeclared identifier is reported only once
../src/main.c:7: error: for each function it appears in.)
../src/main.c:7: error: ‘window’ undeclared (first use in this function)
../src/main.c:9: warning: implicit declaration of function ‘gtk_init’
../src/main.c:11: warning: implicit declaration of function ‘gtk_window_new’
../src/main.c:11: error: ‘GTK_WINDOW_TOPLEVEL’ undeclared (first use in this function)
../src/main.c:12: warning: implicit declaration of function ‘gtk_widget_show’
../src/main.c:14: warning: implicit declaration of function ‘gtk_main’
make: *** [src/main.o] Error 1
Không chắc thế nào để đi về việc này. Bất kỳ hỗ trợ nào sẽ được đánh giá rất nhiều.
tôi không thể tìm thấy cấu hình thả xuống. bạn có thể giúp tôi ? –
Bạn đang sử dụng phiên bản Eclipse nào và bạn đã tạo loại dự án nào? Câu hỏi ban đầu là từ '09, vì vậy mọi thứ có thể đã thay đổi hoặc di chuyển xung quanh một chút trong giao diện người dùng Eclipse. – Luke