C 未定义对“some_foo”的引用
我的 gtk+ 应用程序中有 3 个文件:
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;
}
当我尝试在 main 函数中调用 some_foo
并尝试编译时,我看到错误:对 `some_foo' 的未定义引用。怎么了?
谢谢。
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;
}
When i try to call some_foo
in main function, and try to compile i see error: undefined reference to `some_foo'. What's wrong?
Thank you.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可能没有在构建中包含
MainWindow.c
。例如,在 shell 中它可能看起来像这样:You are probably not including
MainWindow.c
in your build. E.g. in the shell it could look like this: