Visual Studio 2010的奇怪“警告LNK4042”

2023-11-22

我刚刚被 Visual Studio 2010 (C++) 的一些重要警告狠狠地打了一顿。

编译给出以下输出:

1 Debug\is.obj :警告 LNK4042:多次指定对象;附加内容被忽略
1 Debug\make.obj :警告 LNK4042:多次指定对象;附加内容被忽略
1 Debug\view.obj :警告 LNK4042:多次指定对象;附加内容被忽略
1 Identity.obj:错误LNK2019:无法解析的外部符号void __cdecl test::identity::view(void)(?view@identity@test@@YAXXZ) 在函数中引用void __cdecl test::identity::identity(void)(?identity@0test@@YAXXZ)
1 Identity.obj:错误LNK2019:无法解析的外部符号void __cdecl test::identity::make(void)(?make@identity@test@@YAXXZ) 在函数中引用void __cdecl test::identity::identity(void)(?identity@0test@@YAXXZ)
1 range.obj:错误LNK2019:无法解析的外部符号void __cdecl test::range::is(void)(?is@range@test@@YAXXZ) 在函数中引用void __cdecl test::range::range(void)(?范围@0test@@YAXXZ)

链接器错误总是很难调试...但是有未解决的引用,所以我检查了...但是源代码格式良好...最后它击中了我:

我的文件夹层次结构如下所示:

src/
  identity/
    is.cpp
    make.cpp
    view.cpp
  range/
    is.cpp
    make.cpp
    view.cpp

解决方案中的层次结构也是如此(我总是将其设置为模仿“真实”文件夹结构)。

以及诊断输出:

Debug\is.obj
Debug\make.obj
Debug\view.obj

伴随着一个警告,说.obj已两次传递给链接器,这一次将被忽略。

不再搜索:Visual 已经整齐地展平了我的文件夹层次结构,因此无法整齐地编译源代码。

目前,我只是想重命名文件,这应该可以解决问题......

...但是有没有办法让 Visual Studio 不展平文件层次结构?


我在链接器警告方面遇到了类似的问题LNK4042:多次指定对象;附加内容被忽略。就我而言,Visual Studio 尝试编译具有相同名称的头文件和源文件 -MyClass.h and MyClass.cpp。这是因为我改名了.cpp文件至.hVisual Studio 感到困惑。我通过查看中的编译器日志注意到了这个问题Debug目录。要解决只需删除.h从项目中删除文件,然后再次添加。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Visual Studio 2010的奇怪“警告LNK4042” 的相关文章

  • asp.net 文本框文本模式数字,仅允许数字

    我只是想知道 ASP NET 中是否有一种方法只允许文本框中的数字textmode number 当我使用这个时
  • 我的线程图像生成应用程序如何将其数据传输到 GUI?

    Mandelbrot 生成器的缓慢多精度实现 线程化 使用 POSIX 线程 Gtk 图形用户界面 我有点失落了 这是我第一次尝试编写线程程序 我实际上并没有尝试转换它的单线程版本 只是尝试实现基本框架 到目前为止它是如何工作的简要描述 M
  • 使用具有现有访问令牌的 Google API .NET 客户端

    用例如下 移动应用程序正在通过 Google 对用户进行身份验证 并且在某些时候 我们需要将用户的视频发布到他的 YouTube 帐户 出于实际原因 实际发布应该由后端完成 已经存储在那里的大文件 由于用户已经通过应用程序的身份验证 因此应
  • C#动态支持吗?

    看完之后这个帖子 https stackoverflow com questions 2674906 when should one use dynamic keyword in c sharp 4 0k和链接 我还有 2 个问题 问题 1
  • 为什么要序列化对象需要 Serialized 属性

    根据我的理解 SerializedAttribute 不提供编译时检查 因为它都是在运行时完成的 如果是这样 那么为什么需要将类标记为可序列化呢 难道序列化器不能尝试序列化一个对象然后失败吗 这不就是它现在所做的吗 当某些东西被标记时 它会
  • C# 中的接口继承

    我试图解决我在编写应用程序时遇到的相当大的 对我来说 问题 请看这个 为了简单起见 我将尝试缩短代码 我有一个名为的根接口IRepository
  • JSON 数组到 C# 列表

    如何将这个简单的 JSON 字符串反序列化为 C 中的列表 on4ThnU7 n71YZYVKD CVfSpM2W 10kQotV 这样 List
  • 如何从 C# 控制器重定向到外部 url

    我使用 C 控制器作为网络服务 在其中我想将用户重定向到外部网址 我该怎么做 Tried System Web HttpContext Current Response Redirect 但没有成功 使用控制器的重定向 http msdn
  • 如何将“外部模板”与由同一类中的模板化成员使用的嵌套类一起使用?

    首先 一些背景信息 我尝试以 Herb Sutter 在他的解决方案中介绍的方式使用 Pimpl 习语 得到了 101 http herbsutter com gotw 101 这在头文件中看起来像这样 include pimpl h h
  • 即使手动设置显示环境变量后,WSL Ubuntu 也会显示“错误:无法打开显示”

    我在 WSL Ubuntu 上使用 g 我使用 git 克隆了 GLFW 存储库 使用了ccmake命令配置并生成二进制文件 然后使用make在 build 目录中最终创建 a文件 我安装了所有OpenGL相关的库 usr ld 我不记得我
  • Qt 创建布局并动态添加小部件到布局

    我正在尝试在 MainWindow 类中动态创建布局 我有四个框架 它们是用网格布局对象放置的 每个框架都包含一个自定义的 ClockWidget 我希望 ClockWidget 对象在调整主窗口大小时相应地调整大小 因此我需要将它们添加到
  • 生产代码中的 LRU 实现

    我有一些 C 代码 需要使用 LRU 技术实现缓存替换 目前我知道两种实现LRU缓存替换的方法 每次访问缓存数据时使用时间戳 最后比较替换时的时间戳 使用缓存项的堆栈 如果最近访问过它们 则将它们移动到顶部 因此最后底部将包含 LRU 候选
  • 在 C 中使用 GNU automake 中的解析器

    我是 GNU autotools 的新手 在我的项目中使用了 lex 和 yacc 解析器 将它们作为 makefile am 中的源代码会产生以下错误 配置 in AC CHECK PROGS YACC bison yacc none i
  • System.Runtime.InteropServices.COMException(0x80040154):[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我在 C 项目中遇到异常 System Runtime InteropServices COMException 0x80040154 检
  • 是否可以有一个 out ParameterExpression?

    我想定义一个 Lambda 表达式out范围 有可能做到吗 下面是我尝试过的 C Net 4 0 控制台应用程序的代码片段 正如您在 procedure25 中看到的 我可以使用 lambda 表达式来定义具有输出参数的委托 但是 当我想使
  • 为什么拆箱枚举会产生奇怪的结果?

    考虑以下 Object box 5 int int int box int 5 int nullableInt box as int nullableInt 5 StringComparison enum StringComparison
  • 转到定义:“无法导航到插入符号下的符号。”

    这个问题的答案是社区努力 help privileges edit community wiki 编辑现有答案以改进这篇文章 目前不接受新的答案或互动 我今天突然开始在我的项目中遇到一个问题 单击 转到定义 会出现一个奇怪的错误 无法导航到
  • WinRT 定时注销

    我正在开发一个 WinRT 应用程序 要求之一是应用程序应具有 定时注销 功能 这意味着在任何屏幕上 如果应用程序空闲了 10 分钟 应用程序应该注销并导航回主屏幕 显然 执行此操作的强力方法是在每个页面的每个网格上连接指针按下事件 并在触
  • 是否可以在 C# 中强制接口实现为虚拟?

    我今天遇到了一个问题 试图重写尚未声明为虚拟的接口方法的实现 在这种情况下 我无法更改接口或基本实现 而必须尝试其他方法 但我想知道是否有一种方法可以强制类使用虚拟方法实现接口 Example interface IBuilder
  • 错误:无效使用不完整类型“类 Move”/未定义对 Move::NONE 的引用

    拜托 我不知道为什么这个简单的代码被拒绝 它给了我 2 个编译错误 请帮帮我 I use 代码 块 20 03 我的编译器是GNU GCC 移动 hpp class Move public Move Move int int public

随机推荐

  • Java MimetypesFileTypeMap 在 Android 模拟器上始终返回 application/octet-stream

    我正在尝试确定 Android 设备 实际上是我与模拟器一起使用的虚拟设备 上存储的文件的 Mime 媒体类型 我找到了这个资源从文件中获取 MIME 类型其中推荐了javax activation MimetypesFileTypeMap
  • 更新到构建工具 2.3.0 后,LibraryPlugin 中没有 sdkHandler 字段

    我正在使用此方法来获取 NDK 目录 project plugins findPlugin com android library sdkHandler getNdkFolder 更新后com android tools build gra
  • 在 iframe 中包含 jQuery 时,Internet Explorer 9(不是早期版本或其他浏览器)中出现错误

    基本上我有一个页面启动了 fancybox iframe 在该 iframe 中我还包含 jQuery 但是当我在 Internet Explorer 9 中测试它时 它给了我错误 行 68 n 错误 对象 未定义 该错误在文件中jquer
  • Python 和 Matlab 中的克罗内克积

    我试图从 MATLAB 中用 Python 重现结果 但是 我似乎无法正确理解 这是正确的 MATLAB 代码 nx 5 ny 7 x linspace 0 1 nx dx x 2 x 1 y linspace 0 1 ny dy y 2
  • Python:在 Windows 上启动新的命令提示符并等待其完成/退出

    我不明白为什么在 Windows 上做到这一点这么难 我想生成一堆命令提示符窗口来运行其他脚本 我想要这个的原因是这样我可以整齐地看到每个脚本的所有输出 如果我将它们只是主窗口中的线程 子进程 我无法正确查看所有输出 我也不想记录输出 因为
  • C# 拖放在 Windows 7 上不起作用

    我有一个使用 C winforms 的项目已经有一段时间了 我在windows 7发布之前就实现了拖放功能 工作起来就像一个魅力 但是 当使用 Windows 7 时 它不起作用 该事件甚至没有被触发 AllowDrop设置为 true 订
  • 无法在 Kafka Stream 应用程序的 IDE 中删除状态目录

    我正在开发一个简单的 Kafka Stream 应用程序 它从一个主题中提取消息并在转换后将其放入另一个主题中 我正在使用 Intelij 进行开发 当我调试 运行这个应用程序时 如果我的 IDE 和 Kafka 服务器位于同一台机器 即
  • 使用 JavaScript 自定义确认对话框

    我想创建一个类似于的 JavaScript 函数confirm 显示一个对话框 一个带有问题和 2 个按钮的 div 并返回true如果用户单击 确定 或false否则 是否可以使用 JavaScript jQuery 做到这一点 但是wi
  • 对绑定在一起的 NSTextField 使用 KVO

    我在使用 KVO 处理 Cocoa 应用程序中绑定在一起的文本字段时遇到问题 当使用按钮在 NSTextFields 中设置字符串时 我已经得到了这个工作 但它不适用于绑定 一如既往 我们将非常感谢 Stack Overflow 提供的任何
  • 以编程方式忽略 Cout

    有谁知道是否有一个技巧可以切换所有cout lt lt 函数不打印可见输出 我正在尝试将我和其他人编写的一些代码组合在一起以制作一个演示 我不想将输出重定向到文件 并且想要一个在 Windows 和 Linux 之间具有一定兼容性的解决方案
  • Node.js / Express 应用程序中的测试环境

    我刚刚开始使用 Node 并且一直在关注各种教程 我创建了一个 Express 应用程序 并设置了 Mongoose 和 Jasmine 我如何配置我的规格 以便我可以 创建模型 在每个规格后自动清理它们 使用不同的数据库来创建测试对象 例
  • Python 来自 Python:限制功能? [复制]

    这个问题在这里已经有答案了 可能的重复 Python 安全 沙箱 我正在用 Python 构建一个企业 Web 系统 该系统允许上传脚本并在服务器端运行 鉴于我已经在使用 Python 进行开发 而且它是一种非常简单的语言 它似乎是一种编写
  • 如何在 Ruby on Rails 中使用映射表跟踪模型历史记录?

    dream 我想记录用户何时更改地址 这样 当下订单时 它将始终能够引用下订单时使用的用户地址 可能的图式 users id username email user addresses id label line 1 line 2 city
  • Agda 的 Haskell 推导机制

    我想知道 Agda 中是否有任何类似于 Haskell 的东西deriving Eq条款 那么我下面还有一个相关的问题 例如 假设我有一种玩具语言的类型 data Type Set where Nat Type Prp Type 然后我可以
  • 有没有办法覆盖 LINQtoSQL 生成的类中的空构造函数?

    如果我的数据库中有一个名为 Users 的表 则 LINQtoSQL 会生成一个名为 User 的类 该类具有已声明的空构造函数 如果我想重写此构造函数并向其中添加我自己的逻辑 最佳实践是什么 由 O R 设计器生成的默认构造函数调用一个名
  • 更新多行时强制转换 NULL 类型

    当我尝试同时更新多行时遇到问题 这是我使用的表和查询 为了更好的阅读而进行了简化 table CREATE TABLE foo pkid integer x integer y integer query UPDATE foo SET x
  • 实体框架代码第一个唯一列

    我正在使用 Entity Framework 4 3 并使用 Code Fist 我有课 public class User public int UserId get set public string UserName get set
  • 结构体中的 GLSL Sampler2D

    在GLSL中 当我尝试将带有sampler2D属性的统一结构传递给向前声明的函数时 似乎存在着色器的链接错误 如果我删除前向声明并将函数移至 main 之上 则代码将有效 这是非法代码吗 version 330 core in vec2 t
  • “数组作为属性参数不符合 CLS”警告,但未给出类型信息

    编译我的解决方案时 我收到以下几个警告 警告 CS3016 作为属性参数的数组不符合 CLS 没有给出有关什么类型不合规的其他信息 在我的项目中 我有一些属性params构造函数中的数组参数 但它们都是内部的 这不应该影响 CLS 合规性
  • Visual Studio 2010的奇怪“警告LNK4042”

    我刚刚被 Visual Studio 2010 C 的一些重要警告狠狠地打了一顿 编译给出以下输出 1 Debug is obj 警告 LNK4042 多次指定对象 附加内容被忽略1 Debug make obj 警告 LNK4042 多次