问题标签 [undefined-reference]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
makefile - 从 C 程序调用 C++ 函数
如何从 C 程序中调用 C++ 函数,这可能吗?如果可以,我该怎么做?谢谢你。
c++ - g ++未定义对构造函数的引用
我正在针对预编译的库编译和链接 cpp 文件,并且收到“未定义的引用”错误。
首先,这是命令(有问题的库是 quicknet3,我正在编译的程序是 trapper):
g++ -w -g -I. -g -O3 -pipe -Wall -I/home/install/x86_64/include/quicknet3 -L/home/install/x86_64/lib -lquicknet3 -lintvec -lfltvec -o trapper trapper.cpp CMyException.cpp
这是未定义的参考错误:
/tmp/ccFuVczF.o: In function 'main':
trapper.cpp:1731: undefined reference to 'QN_InFtrLabStream_PFile::QN_InFtrLabStream_PFile(int, char const*, _IO_FILE*, int)'
trapper.cpp(第 1731 行)中的调用是:
IN_PFILE = new QN_InFtrLabStream_PFile(0, "", fp, 1);
其中fp
a 是预先FILE *
分配为调用的结果。fopen
被调用的构造函数在相关的头文件(QN_Pfile.h)中定义,如下:
class QN_InFtrLabStream_PFile : public
QN_InFtrLabStream
{
public:
QN_InFtrLabStream_PFile(int a_debug, const char* a_dbgname, FILE* a_file, int a_indexed);
(... other declarations ...)
}
QN_Pfile.cc中确实给出了构造函数的定义:
QN_InFtrLabStream_PFile::QN_InFtrLabStream_PFile(int a_debug,const char* a_dbgname, FILE* a_file, int a_indexed) : log(a_debug, "QN_InFtrLabStream_PFile", a_dbgname),file(a_file),indexed(a_indexed),buffer(NULL),sentind(NULL)
{
(... the usual constructor stuff :P ...)
}
我自己编译了quicknet3库,没有报错,安装到/home/install/x86_64/lib/libquicknet3.a
所以,我不明白为什么来自 trapper.cpp 的调用无法找到对这个构造函数定义的引用。的 g++ 参数-L/home/install/x86_64/lib -lquicknet3
应该可以解决问题,对吧?
有任何想法吗?
谢谢,罗伊
c++ - C++ 模板,未定义的引用
我有一个这样声明的函数:
并定义如下:
但是,当我尝试在 main() 函数中使用它时:
我从 g++ 收到以下错误:
谁能指出我正确的方向?
c++ - C++ - 对最近创建的类的未定义引用!
我刚刚创建了这个新类:
类的定义:
现在的问题是,当我尝试在我的代码中将它用作另一个类的静态成员时:
然后在里面:VehicleManager.cpp
但它没有编译:(,我每次都会收到这个错误消息:
我真的不明白为什么,尤其是我在 VehicleManager.cpp 的全局范围内定义了静态类成员。
PS:我正在使用 Code::Blocks。
谢谢 !
c++ - Qt 和 C++ - 未定义的插槽引用
我在 Qt 中有一个插槽的构建错误。我有一个有公共插槽的课程:
在这个类的构造函数中,我做:
我有 QLineEdit - textFrom 对象。构建错误是
:-1: 错误: collect2: ld 返回 1 退出状态
请帮帮我 (:
c++ - 对类函数问题的未定义引用
我已经搜索了互联网和我自己的智慧来回答这个基本问题,但是,令我沮丧的是,我一直无法找到解决方案。我通常对多个头文件非常满意,但是我碰壁了。问题是我在头文件中声明并在源文件的适当名称空间中定义的函数。我正在使用 Bloodshed 在 Windows 上进行开发。
/////////////////////////// 类 Matrix4x3.h //////////// /////////////////
/////////////////////////// 类 Matrix4x3.cpp //////////// /////////////////
////////////// 主要的 ////////////////
我使用 Bloodshed,当我使用构造对象时它会显示类成员和方法的列表,但是它告诉我上面描述的方法在编译时没有被引用。如果有人有回应,我将不胜感激。
g++ - 未定义对 'yylex()' 的引用
我正在尝试使用 flex 和 bison 创建一种简单的脚本语言。现在,我只是想让计算器工作。
不过,我无法编译它。当我运行这个makefile时:
在我的 .l 和 .ypp 文件中,我收到此错误:
如果我发出这样的命令all
:
它说它找不到-lfl
。如果我这样做:
它回到undefined reference
错误。
对不起,我对此一无所知。
编辑:我安装了 flex。我尝试将它从 -lfl 更改为 C:/GnuWin32/lib/libfl.a (我正在尝试使用 Windows,因为 Linux 在我的计算机上有奇怪的问题,而且我还没有 Mac),但它仍然有同样的错误。
c - 为什么 linux 上的 curses 给我以下错误?
试图让 getch() 工作以捕获按键。
给我以下错误:-
c++ - 未定义的符号“vtable for ...”和“typeinfo for ...”?
几乎是最后一步,但仍有一些奇怪的错误....
vtable和typeinfo是什么意思?