I have 3 files in my gtk+ app:
main.c:
#include <gtk/gtk.h>
#include <glib/gi18n.h>
#include "mainwindow.h"
int main(int argc, char** argv)
{
MainWin* win;
GError* err = NULL;
int a = 0;
a = some_foo();
gtk_main();
return 0;
}
mainwindo.h
#include <gtk/gtk.h>
typedef struct _MainWin
{
GtkWindow parent;
} MainWin;
GtkWidget* main_win_new();
int some_foo();
MainWindow.c
#include "mainwindow.h"
int some_foo()
{
return 1;
}
当我在主函数中尝试调用some_foo
并编译时,出现错误:undefined reference to `some_foo'。这是什么问题?
谢谢。
extern "C" { #include "mainwindow.h" }
。如果这不起作用,请给我们提供make
输出以及nm MainWindow.o
和nm main.o
的转储。 - dma_k