【问题标题】:Visual Studio 2010: strange linker errorVisual Studio 2010:奇怪的链接器错误
【发布时间】:2026-01-16 00:55:01
【问题描述】:

我的项目中有以下代码:

SomeCode.h:

#pragma once 

#include "defines.h"

void Function1(int *param1, float *param2, int count);
void Function2(int *param1, float *param2);
void Function3(int *param1, float *param2);

SomeCode.cpp:

#include "SomeCode.h"

void Function1(int *param1, float *param2, int count)
{
//implementation
}

void Function2(int *param1, float *param2)
{
//implementation
}

void Function3(int *param1, float *param2)
{
//implementation
}

main.cpp:

#include "SomeCode.h"

int main()
{
// some Function1, Function2, Function3 usage
}

以上所有文件都在同一个文件夹中。

解决方案编译正常,但我得到 Function1、Function2、Function3 未解决的外部错误。再次清洁和建造无济于事。然而,使其成功构建的神奇解决方法如下: 1) 注释 SomeCode.cpp 中的所有行 2)构建解决方案并获得相同的链接器错误 3)取消注释行 4) 再次构建

当我更改项目中的某些内容(添加新文件,对现有文件进行一次更改)时,我不时遇到同样的问题。但是这种情况不会经常发生,所以我无法准确判断问题出现的时间。

有什么想法会导致这些麻烦吗?

【问题讨论】:

  • 您是否在链接步骤中添加了新的对象文件?
  • @user973572 我不确定我是否完全理解您的问题......依赖于另一个库。这个库是从另一个项目的源代码构建的。我不能确切地说我的问题是在我连接这个库之前还是之后开始的。但我可以肯定地说,在我挂上图书馆后问题仍然存在。

标签: visual-studio-2010 visual-c++ linker-errors


【解决方案1】:

你尝试添加一个

#include "somecode.h

在 somecode.cpp 中?

【讨论】:

  • 哦...当然可以!我已经编辑了我的问题。感谢您指出!