连接解决方案中的故障
Linking failure within solution
编辑:我知道有类似的问题,但我找不到以下问题的答案:为什么类内部的方法工作正常,而外部的方法却没有。
我有一个奇怪的问题在我的项目,我正在开发的msvc++ 2012。我的项目由不同的代码模块组成。从问题的角度来看,重要的模块是库和GUI。它们作为不同的项目存在于同一个解决方案中。我在库中有一些方法是类的一部分(在这种情况下是Calibration3D):
void Calibration3D::load(const std::string &path)
当我在GUI中需要它时,我使用它没有问题,但是我需要使用以下方法(在类之外):
void xxxyyy()
但是当我试图使用该函数(类外,但在相同的命名空间),我得到以下错误:
1>project_xml.obj : error LNK2001: unresolved external symbol "void __cdecl cci::xxxyyy(void)" (?xxxyyy@cci@@YAXXZ) 1>D:praca_pwccibuild-msvc2012x64Release\ccigui.exe : fatal error LNK1120: 1 unresolved externals
有人知道怎么解吗?
当我有一个这样的头文件:
namespace xyz {
void foo();
class bar { ... };
}
然后我像这样写cpp文件:
#include "xyz.h"
namespace xyz {
void foo() { ... }
bar::bar() { ... }
}
这意味着我必须输入更少的内容,并且在名称空间方面犯更少的错误。
好的,解决了,似乎当一个方法在头文件的命名空间内定义时,它也应该在实现文件中明确定义为命名空间的一部分,在这种情况下:
cci::xxxyyy()
{
...
}
可以工作,
xxxyyy()
{
...
}
不会。
相关文章:
- 运行同一解决方案的另一个项目的项目
- Project Euler问题4的错误解决方案
- 计算每个节点的树高,帮助我解释这个代码解决方案
- C++:Application.cpp中抛出了未解析的外部符号(解决方案在问题的末尾,供未来的读者参考)
- visual c++,如何获取解决方案目录中的代码
- 有没有办法在远程设备上打开和编辑visual Studio 2017解决方案
- C++Matching Brackets 2解决方案不起作用
- 在 ubuntu3 上C++ goto 定义有什么解决方案吗16.04?
- 在 leetcode 上提交解决方案时出现堆栈缓冲区溢出错误
- 我的固定时间步长与增量时间和插值的解决方案是错误的吗?
- 无法在问题解决方案中执行输出逻辑
- 最大的回文产品 - 程序未运行,编写解决方案但无法理解问题
- 从预序遍历构造 bst 的 c++ 和 python 解决方案之间的区别
- 在一个解决方案中针对第三方静态库 (Creo) 的不同版本(版本)进行构建
- 如何巧妙地编写两个函数——一个用于检查是否存在解决方案,另一个用于获取所有解决方案
- 使用 Git 处理 C++ Visual Studio 2019 解决方案的外部依赖项源代码管理的最佳方法是什么?
- N-queen问题:无法弄清楚为什么我的解决方案不起作用
- NULL指针解决方案中的C 分割故障
- 连接解决方案中的故障
- 破解编码面试的LIS解决方案中的分割故障11.7