问题标签 [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.
c++ - 使用具有最少 C++/SWIG/Lua 代码的共享 dll 的链接错误
这是一个涉及 C++、SWIG 和 Lua 的非常具体的编译问题。
我有一个非常简单的基本代码:
[ AClass.hpp ]
[ AClass.cpp ]
[主.cpp ]
此时,与编译无关。我首先编译libengine.dll中的类,然后使用共享库构建可执行文件。
让我们引入一个 SWIG 模块,并将其添加到 dll 中:
[ A类.i ]
此后,当链接可执行文件中的所有内容时,出现以下错误:
有人会有线索吗?我尝试使用nm查看 dll,但我不知道如何将另一个.o添加到共享库中可以“隐藏”一个方法(这不是特定于构造函数)。
为了重现上下文,这里是放置在目录中以构建测试的必要文件:
最后,这是 Makefile 内容:
这是在 Windows 7 下使用 MingGW g++ v4.5.2、SWIG 2.0.2 和 Lua5.1 测试的。
编辑:当 SWIG 导出到 tcl 时,也会出现问题。但是,在 Linux 下编译绝对没有问题。我比较了生成的 AClass_wrap.cxx,它们很相似。
android - 对`std::basic_string 的未定义引用
我正在尝试使用 cygwin 编译我的 c++ 文件。\文件已编译但发生链接时间错误这些类型的错误...
undefined reference to `std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::s
我正在尝试使用 cygwin 编译我的 c++ 文件。\文件已编译但发生链接时间错误这些类型的错误...
还有一些错误,例如
请帮帮我?
谢谢你。
当用户在 asp.net 中键入 mysitename.com 时重定向到 url
我在 asp.net 中设计了我的网站并将其托管在 Web 服务器上。如果用户在http://www.mydimainName.com上键入 mydimainName.com,我想将用户重定向到我的网站。如果有人有解决方案,请告诉我。
谢谢,
穆尼什
我正在尝试使用 cygwin 编译我的 c++ 文件。\文件已编译但发生链接时间错误这些类型的错误...
undefined reference to `std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::s
我正在尝试使用 cygwin 编译我的 c++ 文件。\文件已编译但发生链接时间错误这些类型的错误...
还有一些错误,例如
请帮帮我?
谢谢你。
当用户在 asp.net 中键入 mysitename.com 时重定向到 url
我在 asp.net 中设计了我的网站并将其托管在 Web 服务器上。如果用户在http://www.mydimainName.com上键入 mydimainName.com,我想将用户重定向到我的网站。如果有人有解决方案,请告诉我。
谢谢,
穆尼什
c++ - 对`__gxx_personality_sj0`的未定义引用
尝试执行此代码时使用 gcc 4.6:
我收到以下错误:
1. 未定义引用__gxx_personality_sj
2. 未定义引用_Unwind_SjLj_Register
3. 未定义引用_Unwind_SjLj_Unregister
4. 未定义引用_Unwind_SjLj_Resume
到底是怎么回事?!
android - android jni ndk-build---------->未定义对`std::allocator的引用::分配器()'
android jni ndk-build---------->错误是:未定义引用`std::allocator::allocator()'
我在 project/JNI/ 下创建了一个 Application.mk,带有“APP_STL := gnustl_static”
所以,任何想法,为什么未定义的参考。
环境是ubuntu10.4,NDK是r5b,
c++ - 在 Code::Blocks 中链接 .cpp 文件的问题
我有一个名为cnVector.h的头文件,其实现是用cnVector.cpp编写的。这两个文件位于同一目录中。
标头包含一个简单的类定义。
.cpp文件中的实现如下:
现在,由于对 cnVector::cross(cnVector const&) const; 的未定义引用,main.cpp中的以下代码在第3行中断。
请注意如何识别构造函数实现,而不是识别方法。cnVector::cross
我还收到一条错误消息警告: inline function 'cnVector cnVector::cross(const cnVector&) const' used but never defined。
将实现复制到main.cpp工作。
你能解释一下为什么我可以构造一个cnVector实例但其他方法的实现不被识别吗?
c++ - boost::program_options 未定义引用
我使用 ubuntu 10.04 和 libboost1.40。
这是 main.cpp(仅用于测试)
我做
而且只有一个原型。有任何想法吗?
c++ - 在 Eclipse 上使用 1394cmu 未定义对“_imp___ZN11C1394Camera10InitCameraEi”的引用
我正在使用这个程序与 Opencv 和 1394cmu 从火线中获取视频流。但是当我编译项目时,我得到了一些错误。库在eclipse中正确导入实际上对象的方法被看到并且两个ddl也被正确导入所以我不知道这是问题所在
c++ - 一个 g++ 链接错误 - 为什么解决方法有效
我在一个大项目中工作。现在遇到链接错误。
可以通过解决方法避免此错误,但我无法弄清楚它为什么会起作用。
这是与我的问题相关的文件结构:
package_a 中的所有 *.o 将被打包到 aa 中,而 package_b 中的 *.o 将被打包到 ba
"g++ -o exec -Bstatic b.a a.a ..."
用于生成二进制文件。
在 package_b/b.cpp 中,我添加了一个函数 foo()。
在 package_a/a.cpp 中,我使用了这个函数。
但是在这里我会得到一个链接错误,说 foo() 在 ao 中的未定义引用
我可以验证(通过 objdump) foo() 已经在 bo
通过将链接命令更改为"g++ -o exec -Bstatic a.a b.a ..."
,可以成功构建二进制文件。我现在明白链接器确实关心链接列表中的顺序。但请理解这是一个大项目,我无权更改项目配置,所以必须保持原始链接顺序。
然后我在 package_b/c.cpp 中添加了一个虚拟函数 bar(),它只调用 foo(),然后原始"g++ -o exec -Bstatic b.a a.a ..."
函数将运行而不会出现任何链接错误。
谁能告诉我为什么在这种情况下只在同一个包中添加一个虚拟函数会起作用?
我正在使用 g++ 4.4.4 和 linux 2.6.18-194.el5
任何评论将不胜感激
c++ - libstatgrab 的问题
使用 libstatgrab 时遇到问题 - 我在编译时收到以下错误:
"libstatgrabTest.cpp:16: undefined reference to sg_get_process_stats"
我猜这是因为我需要在链接状态下包含它的 .so 文件——尽管我不确定。正如您在下面看到的,我目前包含statgrab.h
头文件。我configured && make && make install
为图书馆表演。
如果我搜索 libstatgrab*,我会遇到以下情况:
对 statgrab* 的另一次搜索返回以下内容(仅限相关项目):
在编译时,我运行:g++ -g -c libstatgrabTest.cpp
在链接时,我运行:g++ -L/usr/local/lib libstatgrab.o -o libstatgrabTest
知道我做错了什么吗?里面的代码libstagrabTest.cpp
如下图:
c++ - 多个文件困难的模板
嗨,我无法掌握如何在文件中组织我的模板类。我查看了C++ 模板、未定义的参考 ,并尝试使用http://www.parashift.com/c++-faq-lite/templates.html#faq-35.12中给出的提示来分隔我的头文件和实现文件。
变量是我的顶级课程,为简洁起见,我删除了一些函数。
我的实现:
现在我希望能够创建此类的特殊实例,这些实例在 valid_units 和转换指向的位置不同,我知道我可以在构造函数中将其作为选项提供,但由于其中许多可能被创建,我想要一个简单的构造函数. 所以:
在底部的实现文件中,我按照 parashift FAQ 的建议注释掉了我尝试使用的两个模板类声明,这些行给了我控制台错误:
\
当我不在 main 中包含声明时,我在尝试首先创建时遇到错误。Pressure<float, double>::~Pressure()'
- undefined reference to
此行的多个标记 - 对Pressure::Pressure(float, std::basic_string, std::allocator的未定义引用
)'
很抱歉,我想确保我包含了此时给出的所有相关信息,但我没有任何线索。提前谢谢我希望我不必将我的实现移到我的标题中。