0

我知道很多人都问过这个问题,但是按照建议的事情似乎对我没有用。所以我想我会寻求帮助,因为我显然错过了一些东西。

在过去的几天里,我一直在编写一些使用 boost 库的代码,这些代码允许我打开文本文件,将文本转换为可用的数据格式,并在完成后将数据另存为文本文件。我专门构建它以可扩展以处理不同的数据类型(特别是我制作的任何对象或类),以便我可以在我的项目中将其作为库链接到其他库。

但是,即使在将其编译成一个库并将该库的目录添加到“其他包含目录”之后,每当我尝试在库中包含一个头文件时,我都会收到一个未解决的外部错误。我还尝试将它的直接路径放在 Additional Dependencies 下(以及只是库名称以及在 Additional Include Directories 和 Additional Library Directories 中设置的目录路径。我也只尝试了其中一个在时间,它仍然失败)。

有什么我想念的吗?如何编译我想在新项目中重用并链接到它的代码,而无需每次都将 cpp 和 h 文件复制到我的解决方案中?DLL 会更好/更轻松地工作吗?如果是这样,我将如何将其编译为 dll 并链接到它?

感谢您阅读这堵文字墙。你能提供的任何帮助都会很棒。

4

1 回答 1

0

行。虽然这不是我想要的确切解决方案,但我设法解决了这个问题。对于遇到此问题的任何人,有一个精彩的教程解释了如何制作和使用 DLL 文件(至少在 Windows 上,没有任何计算机使用备用操作系统设置来测试 DLL)。你可以在这里找到它。

http://programmingexamples.wikidot.com/blog:1

问题的要点是您还需要保留 .h 文件的副本以方便包含在您的项目中。(我所做的是在我的 C 驱动器上创建一个目录,其中包含我正在制作的库,并且我有一个用于 .lib 文件的文件夹和一个用于 .h 文件的文件夹。)要么直接导入 .h 文件进入您的项目目录或将其添加到您的项目属性(C++ -> General -> Additional Include Directories )。确保您链接到目录,而不是文件本身。在链接器中,您需要将 .lib 文件添加到附加依赖项部分(链接器 -> 输入 -> 附加依赖项)。你可以把整个路径放在这里,或者你可以只放文件名,然后告诉程序在哪里可以找到它所在的目录(将目录的路径添加到 Linker -> General ->

希望这可以帮助那些设法错过其他人似乎本能地理解的东西的人:P

于 2013-01-16T19:45:17.030 回答