1
2
我注意到它在找
尝试将呼叫更改为
告诉你C函数需要从静态C++函数调用的人是完全错误的。这将迫使你在C++静态函数中包装标准库,这只是愚蠢的。 |
2
2
尝试使用NM程序获取在程序中定义和引用的符号的输出:
您应该看到您的符号有T或U。T表示名称已定义,后者表示符号未定义但已调用。为了连接,每个U都必须有对应的T。 确保您的函数没有内联限定符,除非它们在头文件中定义。 |
3
2
我越是考虑这个问题,类声明中声明的函数看起来就越像,但是函数没有相应的定义。 例如,此示例编译得很好,但产生的链接器错误与您看到的相同:
是函数吗
根据问题中的新信息进行编辑: 在你编辑的问题中,你说:
由于你原来问题中的错误,我只能假设
这意味着
或者你可以移动的声明
这样可以修复当前的链接器错误。如果您现在得到一个关于类似于
|
4
1
你告诉链接器在哪里可以找到包含
可能导致此链接错误的两个原因是
|
5
1
如果将静态关键字与非类成员函数一起使用,则该函数将具有本地链接,这意味着它在编译单元(即.cpp文件)之外将不可见。 您要么获取静态关键字,要么将函数体放入include文件中。 在类成员函数的上下文中,static有不同的含义。在这种情况下,static允许在不实例化类对象的情况下调用函数。 |
6
0
您是否检查过是否确实声明了形状相同的函数?
它在找
|
7
0
错误发生在我将对象文件链接到一起的顺序上。我需要先链接C代码,然后再链接我创建的bhagenome类来调用它。链接器找不到C代码符号,因为它们尚未链接。不过,谢谢你的帮助。我想我让一些人失望了,但无论如何还是要谢谢你。 |
Community wiki · C中有哪些耗时的操作? 1 年前 |
Community wiki · 将所有处理器电源都投入到任务中 1 年前 |
Community wiki · C++为C添加了什么?[已关闭] 1 年前 |
Community wiki · 打印1到1000,不带循环或条件 1 年前 |