gpt4 book ai didi

c++ - 在 Visual Studio 中引用静态库项目

转载 作者:行者123 更新时间:2023-11-30 17:10:44 25 4
gpt4 key购买 nike

TL;DR:如何使一个项目依赖于 Visual Studio 中的另一个静态库项目

我正在尝试创建一个使用此库的小型 C++ 项目:http://finitetransform.sourceforge.net/

该库包含两个项目。 NTTW 和 FRTW,其中 FRTW 取决于 NTTW。我的项目应该依赖于 FRTW。NTTW 和 FRTW 以及相对较小且简单的库,没有任何外部依赖项(除了 c 标准库)

现在我是 Visual Studio 中 C++ 开发的新手,但我已经在谷歌上搜索了好几天,希望能找到如何设置它的运气。

这就是我想要的:我想要一个 Visual Studio 中的解决方案,我可以在其中构建 NTTW、FRTW 以及我自己的 Playground 应用程序,我可以在其中使用库。我想从源代码构建这两个库,因为我可能想编辑它们。

这就是我所拥有的:我已经在 Visual Studio 中创建了一个具有我想要的结构的解决方案。我创建了自己的项目(一个 C++ 控制台应用程序)以及一个用于 NTTW 的项目和一个用于 FRTW 的项目 - 两者都创建了一个“静态库”。

由于这些库是用 C 编写的,因此我禁用了预编译头以便构建它们。然后我添加 NTTW 作为 FRTW 的依赖项,并将 FRTW 添加为我的 Playground 项目的依赖项。

什么有效:NTTW 构建得很好。但是,FRTW 不会,因为它无法链接到 NTTW。当我尝试构建它时,我收到这些错误,告诉我它无法从 NTTW 找到头文件

1>------ Build started: Project: FRTW, Configuration: Debug Win32 ------
1> array_complex.c
1> fourier.c
1> ghosts.c
1> mojette.c
1> noise.c
1> radon.c
1> vector.c
1>u:\ct\newproject\fromsource\frtw\ghosts.c(26): fatal error C1083: Cannot open include file: 'nttw/image.h': No such file or directory
1>u:\ct\newproject\fromsource\frtw\radon.c(27): fatal error C1083: Cannot open include file: 'nttw/image.h': No such file or directory
1>u:\ct\newproject\fromsource\frtw\vector.h(29): fatal error C1083: Cannot open include file: 'nttw/array.h': No such file or directory (compiling source file vector.c)
1>u:\ct\newproject\fromsource\frtw\fourier.h(25): fatal error C1083: Cannot open include file: 'fftw3.h': No such file or directory (compiling source file fourier.c)
1>u:\ct\newproject\fromsource\frtw\array_complex.h(30): fatal error C1083: Cannot open include file: 'fftw3.h': No such file or directory (compiling source file array_complex.c)
1>u:\ct\newproject\fromsource\frtw\noise.h(45): fatal error C1083: Cannot open include file: 'nttw/global.h': No such file or directory (compiling source file noise.c)
1>u:\ct\newproject\fromsource\frtw\mojette.c(29): fatal error C1083: Cannot open include file: 'nttw/prime.h': No such file or directory
========== Build: 0 succeeded, 1 failed, 1 up-to-date, 0 skipped ==========

我非常不确定从这里该做什么。任何帮助将不胜感激。谢谢

最佳答案

查看您的错误,我认为 FRTW 项目的调试配置设置需要 Additional Include Directories设置更新以包含 nttw 的父目录目录。如果打开 FRTW 项目的属性页,您可以找到 Additional Include DirectoriesConfiguration Properties -> C/C++ -> General .

不要忘记“调试”和“发布”有不同的设置,您可能会更改“发布”设置并在“调试”下进行构建。

您可能还需要更新 FRTW 项目以包含 NTTW 通过 Configuration Properties 生成的静态 lib 文件。 -> Librarian -> General并将静态库输出的目录添加到 Additional Library Directories并将静态库的名称设置为 Additional Dependencies 。您可能需要执行与 Playground 应用程序项目类似的操作来导入 FRTW 可能生成的静态库。

关于c++ - 在 Visual Studio 中引用静态库项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32757461/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com