visual studio 无法引用第三方库?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了visual studio 无法引用第三方库?相关的知识,希望对你有一定的参考价值。
我的版本是visual studio 2022今天用它编译了一个第三方库dynet然后新建一个项目的时候发现无法引用 如图所示 右键引用-添加引用后选不了编译好的库在网上看别人的视频中 右键引用-添加引用后出现的界面是这样的:可以在浏览这个标签那里选择第三方库请问是哪里出了问题?
参考技术A static库有头文件xx.h以及xx.lib文件。首先,需要能include该头文件,可以直接在你的代码中写全路径,但是一般的方法是在 “属性--c/c++--常规--附加包含目录”中写上xx.h所在的文件夹目录,然后,直接在你的代码中#include "xx.h"
其次,需要告诉链接器你要依赖xx.lib以及xx.lib所在的路径。
告诉链接器你要依赖xx.lib : “属性--链接器--输入--附加依赖项” 中填写xx.lib。也可以写全路径,这样的话,可以不用再单独设置xx.lib所在的文件夹目录了。
告诉链接器xx.lib所在的路径 : “属性--链接器--常规--附加库目录” 中填写xx.lib所在的文件夹路径。
————————————————。本回答被提问者采纳 参考技术B visual studio无法导入识别python第三方库如requests库的问题解决办法. spaceforceone. 1.若未安装成功显示pip无效 在输入pip前加上pip.exe的路径。. 如果显示ssl unavailable,请参考有关openssl安装的文章。. 2.若已安装成功但module无法被导入识别. 参考微 参考技术C visual studio无法导入识别python第三方库如requests库的问题解决办法. spaceforceone. 1.若未安装成功显示pip无效 在输入pip前加上pip.exe的路径。. 如果显示ssl unavailable,请参考有关openssl安装的文章。. 2.若已安装成功但module无法被导入识别. 参考微 参考技术D 你可以参考下我的食用方法:1. Armadillo库本身:这个还是要设置进VC++目录的,好几个版本前的VS开始,VC++目录应该就是跟项目走的,也就是改项目属性
从属项目在 Visual Studio 的引用中无法看到库中的标头
【中文标题】从属项目在 Visual Studio 的引用中无法看到库中的标头【英文标题】:Dependent project cannot see headers from a library in refferences in Visual Studio 【发布时间】:2021-04-19 10:56:42 【问题描述】:我正在学习如何制作静态库。我从 windows 和 Visual Studio 开始。
目录结构如下:
- MyLibraryProject
- include
- MyLibraryProject
- MyLibraryHeader.h
- src
- MyLibrarySource.cpp
- build
- MyLibraryProject.vcxproj
- MyDependentProject
- main.cpp
- MyDependentProject.vcxproj
MyLibraryProject.vcxproj
有以下设置:
Setting | Value |
---|---|
Configuration type | Static library (.lib) |
Additional Include Directories | $(MSBuildThisFileDirectory)../include/MyLibraryProject |
MyDependentProject.vcxproj
没有特殊设置,除了我在引用中添加了MyLibraryProject
,图像具有我使用的实际名称:
如果我在 main.cpp 中使用相对路径,我可以构建项目 - 静态链接可以正常运行:
#include "../MyLibraryProject/include/MyLibraryProject/MyLibraryHeader.h"
但是,我想包含这样的标题:
// fatal error C1083: Cannot open include file: 'MyLibraryProject/MyLibraryHeader.h': No such file or directory
#include <MyLibraryProject/MyLibraryHeader.h>
那是行不通的。我也尝试使用属性表,但也无法使用。我一直在搜索互联网,但通常发现声称如果添加引用,标头和静态库都可以工作。
这里是full repository,如果你愿意看一看。或者在 cmets 中询问是否缺少信息。
【问题讨论】:
@AndyG 已更新。尽管我找到的所有信息都表明它应该看到标题,但它看不到标题。此外,我的工作中使用了相同的方法,并且效果很好。我试图比较工作中的项目,但一无所获。 【参考方案1】:项目引用不向依赖项目提供有关标头的任何信息。最灵活的方法(在 Visual Studio 中)是属性表。我创建了一个文件MyLibraryProject/build/MyLibraryProjectDependency.props
:
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ImportGroup Label="PropertySheets" />
<PropertyGroup Label="UserMacros" />
<PropertyGroup />
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>$(MSBuildThisFileDirectory)..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup />
</Project>
我在 Visual Studio 的属性资源管理器中将其添加到 MyDependentProject.vcxproj
。这解决了问题,现在可以在我想要的路径上看到标题。
【讨论】:
很高兴您得到了解决方案,感谢您的分享,如果您将它们标记为答案,我将不胜感激,这将对其他社区有益。 @Jeaninez-MSFT 仅供参考,在发布后 2 天内无法接受自我回答,这就是为什么您经常会遇到仍未接受的自我回答。以上是关于visual studio 无法引用第三方库?的主要内容,如果未能解决你的问题,请参考以下文章
Visual Studio 2017 - 下载远程引用的 JavaScript 选项丢失