找不到 CPP 中来自外部源的函数 (Qt)
Functions from external source in CPP not being found(Qt)
在Qt中,我希望在单击按钮时运行特定函数。所以我做了一个按钮并使用"connect(("函数来运行一些子例程"initializeButtonPushed">
void MainWindow::initializeButtonPushed(){
initializePlatform();
}
足够简单。在文件"mainwindow.h"中有一行
#include "platform.h"
在 platform.h 内部是定义 "void initializePlatform(void(;">
在我的 c 源代码中,我有一个 platform.c 文件,其中包含此函数的实际代码。
除此之外,我已经可以看到我的Qt项目的.pro文件包含这些文件。
因此,鉴于此,编译器似乎应该能够找到这些文件,但是当我尝试编译代码时,出现错误:
undefined reference to 'initializePlatform()'
collect2:error: ld returned 1 exit status
我对 cpp 了解不多,我通常使用 C 但这个程序需要 Qt,所以也许我错过了一些东西,但我不明白为什么当我可以看到源文件作为我项目的一部分并知道它的代码时,我的函数未定义。
你需要这个
extern "C"{
#include "platform.h"
}
这允许 C++ 编译器和链接器正确链接用 C 编写的函数
相关文章:
- libssh 的函数在构建 libssh 时无法在 Qt 和 cmake 错误中找到
- 如何在qt中从另一个类调用函数
- 触发时无法将 QAction 链接到函数 (Qt 5)
- QT 如何将 Qlist 传递给类构造函数
- 在 QT 中运行延迟的函数
- 如何将函数指针传递给方法,以便它可以在Qt的connect()中使用?
- 每次qt窗口获得焦点时调用函数
- Qt基类函数定义
- 在Qt应用程序中包含Python.h会导致对Qt函数的未定义引用
- 在Qt中使用C++Lambda函数作为插槽是否有助于保持库的二进制兼容性?
- QT - 连接 Qml 按钮 单击到 Cpp 构造函数
- C++,QT. QShortcut的函数调用不存在
- 如何结束图形GUI和执行控制台函数(QT)
- 如何使用拖放功能和点击信号函数QT创建标签
- 找不到 CPP 中来自外部源的函数 (Qt)
- 在构造函数 QT 创建器(继承类)中传递默认参数
- 从另一个函数的"if loop"中调用/移动一个函数 - Qt,C++
- 带有 QWidget 的分段错误构造函数.Qt/C++
- 析构函数 Qt QDialog 中的分段错误
- 构造函数 Qt C++ 中的枚举