OpenNN 在 Visual Studio 2017 中包含未解析的外部符号
Posted
技术标签:
【中文标题】OpenNN 在 Visual Studio 2017 中包含未解析的外部符号【英文标题】:OpenNN include unresolved external symbol in Visual Studio 2017 【发布时间】:2017-10-18 06:34:18 【问题描述】:我的名字是赫克托佩雷斯。我是一名来自危地马拉的国际学生,学习计算机科学和音乐。我对将 OpenNN 用于计算机音乐项目非常感兴趣。我今天尝试创建一个具有适当依赖项的 Visual C++ 项目(如http://www.opennn.net/documentation/building_opennn.html 中所述)。
但是,我想经过一些尝试后,我意识到我可能做错了什么。我在此消息结束后包括我的程序。 如果您能指出一个逐步执行项目构建的教程,我将不胜感激。
我的程序:
-
在 Visual Studio 中创建了一个 C++ 项目。
右键单击解决方案资源管理器中的应用程序文件夹,
转到 VC++ 目录下的属性。
已将依赖项的完整路径复制到“包含目录”中。
我构建了项目,但出现错误 - 好像找不到文件。
如果我明确使用 #include,就会发现它们,但这可能不是本意。
这是我遇到的错误。 (只是更大!)
... SimplePatternRecognition.obj : error LNK2019: unresolved external symbol "public: void __cdecl OpenNN::NeuralNetwork::save(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)const " (?save@NeuralNetwork@OpenNN@@QEBAXAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z) referenced in function main
1>...C:\Users\Owner\documents\visual studio 2017\Projects\SimplePatternRecognition\x64\Debug\SimplePatternRecognition.exe : fatal error LNK1120: 46 unresolved externals
1>Done building project "SimplePatternRecognition.vcxproj" -- FAILED.
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
【问题讨论】:
你也可能需要告诉它链接到库 原来没有.lib 文件。 --- 我尝试使用 CMake 构建 OpenNN,然后构建了一个使用 Visual Studio 创建的 .sln 文件。这创建了 .lib 文件。我有一个发展。我从研究中意识到可能需要添加一个 .lib 文件,以及 .lib 文件所在的目录(到 Visual Studio 项目)。使用 CMake,我能够构建 .lib 文件!!! 我现在尝试将.lib 文件添加到项目简单模式识别中。我现在遇到的问题是它说.lib 是x86,而项目是x64。这是 Visual Studio 2017 中的控制台项目,只有 32 位选项可用:( 你要么需要构建 64 位库,要么需要构建 32 位可执行文件 嘿柔印。我确实尝试在 Visual Studio 项目设置中更改设置机器类型目标,但仍然出现错误。 【参考方案1】:我解决了!
我将我的示例代码和将 OpenNN 添加到 Visual Studio 的步骤放在此存储库中:查看 README.md 文件。
存储库:https://github.com/HectorGit/allMyOpenNNCode
【讨论】:
以上是关于OpenNN 在 Visual Studio 2017 中包含未解析的外部符号的主要内容,如果未能解决你的问题,请参考以下文章
未能正确创建Visual c# 20xx,因此未能打开工程xxx,请重新安装Visual studio