qt creator中工程间调用的问题
各位大侠,小弟刚开始用qt做图形界面碰到一个问题。帮帮忙啊。做一个主窗口,主窗口要用原来做的一个工程的dialog,开始直接把该dialog的头文件加到主窗口程序,但是不...
各位大侠,小弟刚开始用qt做图形界面碰到一个问题。帮帮忙啊。做一个主窗口,主窗口要用原来做的一个工程的dialog,开始直接把该dialog的头文件加到主窗口程序,但是不行,报未定义,又把dialog的头文件,源程序拷到主窗口目录下,又报collcet2:ld returned 1exit status。内容是undefined reference to....。不好意思,每分了,问题也很菜,在这里谢谢了
展开
1个回答
展开全部
按你的步骤来说,你只是把头文件和源文件copy到你工程目录下了,但是你并没有把你的头文件还有源文件加入你的.pro文件中
你需要在你的 pro 文件加入你的头文件和源文件。找到 HEADERS 关键字,在后面加上你的头文件。如果你的头文件名字是 xxx.h ,示意如下:
HEADERS += a.h \
b.h \
xxx.h
不同的头文件之间 用 \ 隔开,便于我们换行写其他的头文件,如果没有 \ 这个符号,工程文件将不能被识别。当然也可以直接写到一行。如果写到一行的话就直接用空格隔开不同的头文件了,在 HEADERS += 的最后,不应该有任何符号。
类似地,应该在 SOURCES 关键字后面加上相应的源文件
SOURCES += a.cpp \
b.cpp \
xxx.cpp
如果有 xxx.ui 文件的话,你还需要加入与下方类似的项。
FORMS += xxx.ui
以上步骤完成之后你需要重新编译工程。
当然通过qt creator 也是可以在 IDE 界面下加入头文件和源文件的。直接在工程上点鼠标右键,选择 "add existing files..."选项,选择你要加入的源文件和头文件就可以了。 qt creator会自动在你的 pro 文件中写入上面所列出的项。
关于出错信息
collcet2:ld returned 1exit status ----------------- 一般是因为同一个工程中已经运行了一个应用程序,而你在没有关闭这个应用的同时,又编译了这个工程,当这个工程运行新的应用失败时,将给出这个错误信息。你只需要关闭当前这个应用,再重新编译/运行即可。
你需要在你的 pro 文件加入你的头文件和源文件。找到 HEADERS 关键字,在后面加上你的头文件。如果你的头文件名字是 xxx.h ,示意如下:
HEADERS += a.h \
b.h \
xxx.h
不同的头文件之间 用 \ 隔开,便于我们换行写其他的头文件,如果没有 \ 这个符号,工程文件将不能被识别。当然也可以直接写到一行。如果写到一行的话就直接用空格隔开不同的头文件了,在 HEADERS += 的最后,不应该有任何符号。
类似地,应该在 SOURCES 关键字后面加上相应的源文件
SOURCES += a.cpp \
b.cpp \
xxx.cpp
如果有 xxx.ui 文件的话,你还需要加入与下方类似的项。
FORMS += xxx.ui
以上步骤完成之后你需要重新编译工程。
当然通过qt creator 也是可以在 IDE 界面下加入头文件和源文件的。直接在工程上点鼠标右键,选择 "add existing files..."选项,选择你要加入的源文件和头文件就可以了。 qt creator会自动在你的 pro 文件中写入上面所列出的项。
关于出错信息
collcet2:ld returned 1exit status ----------------- 一般是因为同一个工程中已经运行了一个应用程序,而你在没有关闭这个应用的同时,又编译了这个工程,当这个工程运行新的应用失败时,将给出这个错误信息。你只需要关闭当前这个应用,再重新编译/运行即可。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询