繁体   English   中英

Visual Studio 2019静态库项目的问题

[英]Visual Studio 2019 problem with static library projects

我正在尝试构建一个包含c ++控制台应用程序和c ++静态库的项目。 我只为两者创建一个默认项目。 Visual Studio创建一个默认的示例函数。 我也在头文件中包含该函数,以便将其导出。 然后我从控制台项目添加对库项目的引用。 然后我尝试构建项目,它没有说库中有一个未定义的函数引用。 但是,如果我在控制台项目中包含生成的.lib文件,它就可以工作。 我已经在Visual Studio中使用了静态库数千次,但不知道现在发生了什么。

我正在使用Visual Studio社区:

Microsoft Visual Studio社区2019版本16.1.3 VisualStudio.16.Release / 16.1.3 + 29009.5 Microsoft .NET Framework版本4.7.03190

已安装版本:社区

Visual C ++ 2019 00435-60000-00000-AA098 Microsoft Visual C ++ 2019

Visual Studio包的应用程序洞察工具9.1.00429.1 Visual Studio的应用程序洞察工具

ASP.NET和Web工具2019 16.1.429.50124 ASP.NET和Web工具2019

Azure App Service Tools v3.0.0 16.1.429.50124 Azure App Service Tools v3.0.0

C#Tools 3.1.1-beta4-19281-06 + 58a4b1e79aea28115e66b06f850c83a3f1fcb6d3 IDE中使用的C#组件。 根据您的项目类型和设置,可能会使用不同版本的编译器。

通用Azure工具1.10提供Azure移动服务和Microsoft Azure工具使用的公共服务。

Cookiecutter 16.1.19129.1提供了以cookiecutter格式查找,实例化和自定义模板的工具。

Microsoft Azure工具2.9 Microsoft Azure工具Microsoft Visual Studio 0x10 - v2.9.20419.2

Microsoft JVM Debugger 1.0支持将Visual Studio调试器连接到JDWP兼容的Java虚拟机

Microsoft MI-Based Debugger 1.0支持将Visual Studio连接到MI兼容的调试器

Microsoft Visual C ++ Wizards 1.0 Microsoft Visual C ++向导

Microsoft Visual Studio VC包1.0 Microsoft Visual Studio VC包

NuGet Package Manager 5.1.0 Visual Studio中的NuGet包管理器。 有关NuGet的更多信息,请访问https://docs.nuget.org/

ProjectServicesPackage Extension 1.0 ProjectServicesPackage Visual Studio扩展详细信息

Python 16.1.19129.1为Python开发人员提供IntelliSense,项目,模板,调试,交互式窗口和其他支持。

Python - Conda支持16.1.19129.1 Conda对Python项目的支持。

Python - Django支持16.1.19129.1为Django Web框架提供模板和集成。

Python - IronPython支持16.1.19129.1为基于IronPython的项目提供模板和集成。

Python - 性能分析支持16.1.19129.1对Python项目的性能分析。

Python - VC项目支持16.1.19129.1支持在启用Python调试的情况下启动C ++项目。

ResourcePackage Extension 1.0 ResourcePackage Visual Studio扩展详细信息

Boost.Test 1.0的测试适配器使用为Boost.Test编写的单元测试启用Visual Studio的测试工具。 扩展安装目录中提供了使用条款和第三方声明。

适用于Google Test 1.0的测试适配器通过为Google Test编写的单元测试启用Visual Studio的测试工具。 扩展安装目录中提供了使用条款和第三方声明。

TypeScript工具16.0.10506.2004适用于Microsoft Visual Studio的TypeScript工具

Visual Basic工具3.1.1-beta4-19281-06 + 58a4b1e79aea28115e66b06f850c83a3f1fcb6d3 IDE中使用的Visual Basic组件。 根据您的项目类型和设置,可能会使用不同版本的编译器。

用于Linux开发的Visual C ++ 1.0.9.28917用于Linux开发的Visual C ++

Visual Studio代码调试适配器主机包1.0用于在Visual Studio中承载Visual Studio代码调试适配器的Interop层

用于CMake的Visual Studio工具1.0用于CMake的Visual Studio工具

用于CMake的Visual Studio工具1.0用于CMake的Visual Studio工具

控制台应用

#include <iostream>
#include "StaticLibTest\\framework.h"

int main()
{
    std::cout << "Hello World!\n";
    fnStaticLibTest();
}

库头

#pragma once

#define WIN32_LEAN_AND_MEAN             // Exclude rarely-used stuff from Windows headers

void fnStaticLibTest();

图书馆代码

#include "pch.h"
#include "framework.h"

// TODO: This is an example of a library function
void  fnStaticLibTest()
{
}

1> ConsoleApplication1.obj:错误LNK2019:函数_main中引用的未解析的外部符号“void __cdecl fnStaticLibTest(void)”(?fnStaticLibTest @@ YAXXZ)

发现了问题。 我在控制台项目中添加了引用单击右键,然后是“构建依赖项” - >“项目依赖项”。 这不起作用,但如果我添加右键单击引用然后“添加引用”它是有效的

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM