精华内容
参与话题
问答
  • 本项目示例源码已经上传,欢迎点击下载~注:静态库——在链接步骤中,连接器将从库文件取得所需的代码...在vs中新建生成静态库的工程,编译生成成功后,只产生一个.lib文件。解决方案文件夹目录如下所示——我们接下...

    本项目示例源码已经上传,欢迎点击下载~

    注:静态库——在链接步骤中,连接器将从库文件取得所需的代码,复制到生成的可执行文件中,这种库称为静态库,其特点是可执行文件中包含了库代码的一份完整拷贝;缺点就是被多次使用就会有多份冗余拷贝。即静态库中的指令都全部被直接包含在最终生成的 EXE 文件中了。在vs中新建生成静态库的工程,编译生成成功后,只产生一个.lib文件。

    解决方案文件夹目录如下所示——我们接下来要讲的静态库模块都是在图中的Common文件夹下进行的, 如果对项目的文档架构不理解,可以先看这篇博客【VS+Qt项目开发】(三)解决方案与项目文档架构设计

    注:我的解决方案路径是   C:\Users\Heylink\Documents\Visual Studio 2015\Projects\MySolution\



    1. 直接导入已有静态库

    1.1 直接将已有的静态库项目拷贝到Common文件夹下,别忘了添加Output和Output\TempFile两个文件夹用以存放输出的相关文件。

    注:我这里导入的静态库名字叫“Common_VS2015”,是前辈们提供的封装函数库



    1.2 在项目中导入该静态库

    step1:点击解决方案——>右键——>添加——>现有项目



    step2:找到Common文件夹下的.sln文件,点击“打开”



    step3:导入成功!



    OK!导入成功啦!现在我们来看看如何自己创建静态库。


    2. 自己创建静态库

    什么情况下需要自己创建静态库呢?一般是为了代码的解耦合以及模块化。我们需要将一些基本的方法进行封装,方便自己以后在别的项目中使用或者提供给别的小伙伴使用。

    2.1 解决方案——>右键——>添加——>新建项目——>Visual C++——>Win32项目

     注:位置选择解决方案中的Common文件夹下,名字命名为Common_VS2015


    2.2 选择静态库,预编译头和安全开发生命周期(SDL)检查可要也可不要,我们这里选择不要


    2.3 完成

    2.4 添加相关文件结构/include、/source、/Output、/Output/TempFile


    /include:存放头文件

    /source:存放源文件

    /Output:存放输出文件

    /Output/TempFile:存放中间输出文件

    2.5 添加头文件、源文件

    注:添加的时候位置要注意,头文件选择include文件夹,源文件选择source文件夹,添加完后源文件中代码会报错,因为分属于不同文件夹,源文件找不到头文件位置。看步骤2.6


    头文件CommonLib.h

    #pragma once
    namespace heylink{
    
    class CommonLib {
    public:
    	CommonLib();
    	~CommonLib();
    
    	int add(int n, int m);
    
    	int minus(int n, int m);
    
    };
    
    }

    源文件CommonLib.cpp

    #include "CommonLib.h"
    
    namespace heylink{
    
    CommonLib::CommonLib()
    {
    }
    
    CommonLib::~CommonLib()
    {
    }
    
    int CommonLib::add(int n, int m)
    {
    	return n + m;
    }
    
    int CommonLib::minus(int n, int m)
    {
    	return n - m;
    }
    
    }

    2.6 配置头文件路径

    Common_VS2015右键——>属性——>C/C++常规;在附加包含目录处填写include文件夹名字即可

    注:配置和平台务必选择所有配置所有平台


    2.7 配置静态库常规属性

    Common_VS2015右键——>属性——>配置属性——>常规

    主要修改以下三项配置:

    •     输出目录:修改为$(SolutionDir)Common\$(ProjectName)\Output\$(Configuration)\
    •     中间目录:修改为$(SolutionDir)Common\$(ProjectName)\Output\TempFile\$(Configuration)\
    •     目标文件名:修改为common即可

    点击“应用


    2.8 生成静态库

    Common_VS2015右键——>生成


    配置为Debug模式


    配置为Release模式


    至此,静态库已经生成

    3.静态库使用

    3.1 检查你的项目属性是否正确

    MySolution(主项目)右键——>属性

    注:为了能够发布32位与64位的安装包,我们的配置最好都是设为面向所有配置+所有平台

    如果只有Win32或者x64,没有所有平台选项的话,点击右侧的配置管理器,进行新建


    3.2 将静态库源代码的头文件依赖进来,确保在编码时就能够使用而不报错

    添加静态库头文件位置:$(SolutionDir)Common\Common_VS2015\include

    注:上面的这个Common_VS2015要记得改为你自己的静态库项目的名称


    3.3 将静态库生成的lib文件依赖进来,确保能在编译期间使用

    添加静态库lib所在的位置:$(SolutionDir)Common\Common_VS2015\Output\$(Configuration)\common.lib

    如果你细心观察,你会发现这个路径就是我们之前配置的静态库项目的输出目录,没错,我们就是在这里面去拿生成的lib文件。还是那句话,注意把Common_VS2015改为你自己的静态库的名称。


    注意:从实际开发来看,选择所有配置+所有平台一般不会出问题,但是不排除还会出现以下错误

    报错:LINK : fatal error LNK1181: 无法打开输入文件

    “C:\Users\Heylink\Documents\VisualStudio 2015\Projects\MySolution\Common\Common_VS2015\Output\Release\\.obj”

    出现该问题的情形是我在Release+x64的配置下生成主项目MySolution时碰到的,我看了一下配置


    可以发现路径最末尾少了common.lib,可是之前我的确是选择所有配置+所有平台的,所以还希望大家到时候再确认一下是否配置到位。


    注意:每次添加完记得点击“应用”+“确定”

    3.4 在项目中使用静态库

    在前三步做完后,我们就可以在项目中使用静态库的类和函数了。

    我在主项目中创建了一个简单的计算器UI,部分代码如下所示:

    MySolution.h

    #pragma once
    
    #include <QtWidgets/QMainWindow>
    #include "ui_MySolution.h"
    #include "CommonLib.h"
    
    using namespace heylink;
    
    class MySolution : public QMainWindow
    {
    	Q_OBJECT
    	public:
    		MySolution(QWidget *parent = Q_NULLPTR);
    		~MySolution();
    	private:
    		CommonLib * m_commonLib; //静态库中的类
    		Ui::MySolutionClass ui;
    	private slots:
    		//槽函数,计算两数之和
    		void calcSlot();
    };
    MySolution.cpp
    #include "MySolution.h"
    
    MySolution::MySolution(QWidget *parent)
    		: QMainWindow(parent)
    {
    	ui.setupUi(this);
    	m_commonLib = new CommonLib();
    	QObject::connect(ui.calcButton, SIGNAL(clicked()), this, SLOT(calcSlot()));
    }
    
    MySolution::~MySolution() {
    	delete m_commonLib;
    }
    
    void MySolution::calcSlot()
    {
    	int firstvalue = ui.firstValue->text().toInt();//取出第一个文本转化为整数类型  
    	int secondvalue = ui.secondValue->text().toInt();
    	int resultvalue = m_commonLib->add(firstvalue, secondvalue);//调用静态库方法
    	ui.resultValue->setText(QString::number(resultvalue));
    }

    3.5 运行结果

    注:如果是新建项目第一次运行,那么出现如下错误

    #include "ui_XXXXX.h"  出错

    提示:无法打开源文件“ui_*****.h”

    解决方案:在UI文件XXXXX.ui 上右键再点击编译

    然后就可以顺利运行啦~


    函数调用成功~

    大功告成!

    欢迎到我的GitHub主页下载项目源码~

    返回《Visual Studio 2015开发Qt项目实战经验分享

    展开全文
  • VS静态库与动态库的生成与使用

    千次阅读 2018-02-10 08:36:55
    静态库和动态库的区别与联系 什么是库 什么是静态库 什么是动态库 总结 VS下静态链接库的生成和使用 方法一 静态库和程序在同一目录下2 方法二 直接调用 MY_ADDlib3 方法三 建立自己的库函数推荐 VS下动态链接库...

    博主最新文章


    • 这是作者在总结平时经验后,重新对静态库和动态库的认识与理解

    再谈静态库和动态库(C++)

    静态库和动态库的区别与联系


    什么是库

    库是写好的现有的,成熟的,可以复用的代码。现实中每个程序都要依赖很多基础的底层库,不可能每个人的代码都从零开始,因此库的存在意义非同寻常。本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行。库有两种:静态库(.a、.lib)和动态库(.so、.dll)。1

    什么是静态库

        在链接阶段,会将汇编生成的目标文件.o与引用到的库一起链接打包到可执行文件中,所以称之为静态库,对应的链接方式称为静态链接。

        静态库的特点有:

    1. 静态库对函数库的链接是放在编译时期完成的
    2. 程序在运行时与函数库再无瓜葛,移植方便
    3. 浪费空间和资源,因为所有相关的目标文件与牵涉到的函数库被链接合成一个可执行文件

    什么是动态库

        动态库在程序编译时并不会被连接到目标代码中,而是在程序运行是才被载入。不同的应用程序如果调用相同的库,那么在内存里只需要有一份该共享库的实例,规避了空间浪费问题。动态库在程序运行是才被载入,也解决了静态库对程序的更新、部署和发布页会带来麻烦。用户只需要更新动态库即可,增量更新。

        动态库的特点有:

    1. 动态库把对一些库函数的链接载入推迟到程序运行的时期
    2. 可以实现进程之间的资源共享(因此动态库也称为共享库)
    3. 将一些程序升级变得简单
    4. 甚至可以真正做到链接载入完全由程序员在程序代码中控制(显示调用)

    总结

    二者最大的不同点在于代码被载入的时刻不同

    • 静态库在程序编译时会被连接到目标代码中,程序运行时将不再需要该静态库,因此体积较大
    • 动态库在程序编译时并不会被连接到目标代码中,而是在程序运行是才被载入,因此在程序运行时还需要动态库存在,因此代码体积较小

        动态库的好处是,不同的应用程序如果调用相同的库,那么在内存里只需要有一份该共享库的实例。带来好处的同时,也会有问题!如经典的DLL Hell问题,关于如何规避动态库管理问题,可以自行查找相关资料。

    VS下静态链接库的生成和使用


    方法一 静态库和程序在同一目录下2

        第一步:创建 Win32工程 MY_ADD,其中工程类型选择静态库(默认是控制台应用程序*)

        第二步:在头文件新建 add.h ,代码如下:

    //在这里写自己的代码,以下是例子
    //注意:静态库中,申明和实现尽量分离,不要写到一块,易于后期维护
    
    class Add{
    public: //申明公有方法
    	int add2num(int a , int b); //只申明,不实现
    };
    

        第三步:在源文件下新建 add.cpp ,代码如下:

    #include "add.h"  //注意包含头文件
    #include <iostream>
    
    int add::add2num(int a, int b){ //方法的实现
    	std::cout << "Successful" << std::endl;
    	return a + b;
    }
    

        第四步:编译该文件(注意:静态库文件不写 main 函数,所以只能编译),此时会在工程 Debug 目录下生成 MY_ADD.lib

        第五步:在解决方案右键新建项目 TEST_LIB ,类型选择控制台应用程序注意是在解决方案新建

        第六步:在 TEST_LIB 右键属性,通用属性 - 引用,选择刚才生成的 MY_ADD.lib,确定

        第七步:在源文件新建 main.cpp ,代码如下:

    #include "..//my_add/add.h" // ..// 代表当前目录,一定要添加该头文件
    #include <iostream>
    #include <stdio.h>
    
    using namespace std;
    
    int main(){
    	Add a;
    	int b  = a.add2num(1,3);
    	cout << "This is abc program!\n";
    	printf("b = %d\n", b);
    	return 0;
    }
    

        第八步:将 TEST_LIB 设置为启动项,运行即可

    方法二 直接调用 MY_ADD.lib3

        第一步:把 add.hMY_ADD.lib 复制我要调用的 TEST_LIB 目录下

        第二步:添加如下头文件

    #pragma comment(lib,"MY_ADD.lib")
    #include "add.h"
    

    当你新建一个项目,需要调用生成的 my_add.lib 时,也可以采用这种方法

    方法三 建立自己的库函数(推荐)

        第一步:建立自己的库目录文件夹,文件夹目录树如下:

    • mylib
      • include
        • add.h
        • minus.h
        • multiply.h
        • devide.h
        • xxx.h
      • lib
        • my_add.lib
        • my_minus.lib
        • my_multiply.lib
        • my_devide.lib
        • xxx.lib
      • bin

        第二步:打开VS,新建一个 Win32 工程,打开属性管理器(找不到可在 视图 - 其他窗口 - 属性管理器 找到),在 Debug | Win 32 右键添加新项目属性表,假设命名为 mylib.props

        第三步:右键 mylib.props 属性,设置下面三项:

    1. 通用属性 - VC++目录 - 包含目录 添加:根目录\include
    2. 通用属性 - VC++目录 - 库目录 添加:根目录\lib
    3. 通用属性 - 链接器 - 输入 - 附加依赖项 添加:MY_ADD.lib

        第四步:源文件下新建 main.cpp,输入:

    #include <add.h> //添加头文件
    #include <iostream>
    
    using namespace std;
    
    int main(){
    	Add a;  //实例化
    	int b = a.add2num(1,2 ); //调用方法
    	cout << b << endl;
    	return 0;
    }
    

        第五步:编译并运行,完毕

    强烈推荐该方法,因为这样方便以后添加自己的方法,调用方便,并且有效的保护了源代码


    VS下动态链接库的生成和使用

    MYDLL的生成

        第一步: Win32 控制台程序,工程名称为 MYDLL,类型选择 DLL

        第二步:头文件 - 新建 mydll.h,代码如下:

    #pragma once
    void p();
    

        第三步:源文件 - 新建 mydll.cpp,代码如下:

    #include "mydll.h"
    #include <iostream>
    void p(){
    	std::cout << "DLL is successful" << std::endl;
    }
    

        第四步:源文件 - 新建 main.cpp,代码如下:

    //定义 DLL 应用程序的入口点 
    #include <windows.h>  //一定要包含这个头文件!!!
    BOOL APIENTRY DllMain(HMODULE hModule,
    	DWORD  ul_reason_for_call,
    	LPVOID lpReserved
    	)
    {
    	switch (ul_reason_for_call)
    	{
    	case DLL_PROCESS_ATTACH:
    	case DLL_THREAD_ATTACH:
    	case DLL_THREAD_DETACH:
    	case DLL_PROCESS_DETACH:
    		break;
    	}
    	return TRUE;
    }
    

        第五步:源文件 - 新建 Visual C++ - 代码 - 模块定义文件 - Source.def,代码如下:

    LIBRARY "MYDLL"
    EXPORTS
    	p @1  
    	//如果还有别的函数要编译至dll文件,则按照这个规则继续写
    	//p1 @2
    	//p2 @3
    	//以此类推
    

        第六步:生成解决方案,在工程目录下生成下面二个文件及其他文件:

    • MYDLL.dll
    • MYDLL.lib
    • 其他…

    你可以选择把 mydll.hMYDLL.dllMYDLL.lib拷贝至一个独立文件夹,之后进行引用就行

    应用 MYDLL.dll

        第一步:打开VS,新建一个工程,如:TEST_DLL,然后配置环境变量,具体操作为打开属性管理器,新建 mydll.props,然后右键 mydll.props 属性,分别配置:

    • 通用属性 - VC++目录 - 包含目录:mydll.h 所在文件夹的物理绝对路径
    • 通用属性 - VC++目录 - 库目录:DLL.lib 所在文件夹的物理绝对路径
    • 通用属性 - 链接器 - 输入 - 附加依赖项 - 输入 DLL.lib
    • 环境变量 - 系统变量 - 新建变量名:DLL_ROOT,变量值:MYDLL.dll 所在的根目录
    • TEST_DLL 右键 - 属性 - 配置属性 - 环境 - PATH=$(DLL_ROOT)\bin;

        第二步:打开VS,新建 main.cpp,代码如下:

    #include <iostream>
    #include "mydll.h"  //记得包含头文件
    
    using namespace std;
    
    int main(){
    	p();  //应用函数
    	return 0;
    }
    

    然后运行程序即可~~~


    1. C++静态库与动态库 ↩︎

    2. 详解生成静态链接库lib文件和调用1 ↩︎

    3. 详解生成静态链接库lib文件和调用2 ↩︎

    展开全文
  • VS2017创建静态库lib和使用静态库

    万次阅读 2018-06-19 22:35:26
    1. 打开vs2017, 新建项目,选择新建静态库项目,然后点击确定。2. 右键单击testlib的“头文件”,以此选择“添加” “新建项”,最后按下图更改。3. 在头文件中添加函数的声明。4. 右键“源文件”,依次选择“添加...

    1. 打开vs2017, 新建项目,选择新建静态库项目,然后点击确定。


    2. 右键单击testlib的“头文件”,以此选择“添加” “新建项”,最后按下图更改。


    3. 在头文件中添加函数的声明。


    4. 右键“源文件”,依次选择“添加” “新建项”


    5. 在源文件中添加函数的实现


    6. 右键项目,点击“生成解决方案”


    7.右键项目,选择“在资源管理器中打开文件夹”, 可以看到生成的目录结构,至此已经生成了静态库。


    8. 使用静态库。右键testlib解决方案,选择“添加”“”新建项目”,选择控制台应用程序。


    9.右键控制台应用项目,生成依赖项,并且选择刚才新建好的静态库testlib


    10.右键选择控制台项目属性,,在项目属性页,选择所有配置。


    选择连接器--》常规--》附加库目录, 编辑值为$(OutDir)


    选择连接器-->输入-->附加依赖项,添加刚才编译好的静态库,testlib.lib


    最后,test.cpp中使用静态库,包含头文件,调用静态库中的方法



    展开全文
  • 此处仅以VS2010为例,详细说明一下如何在VS环境下生成和使用C++的静态库与动态库。Qt下生成和使用静态和动态库后续再讲。 本文仅供初学者参考,如果有问题欢迎大家指正。  首先简单地理解一下静态库与动态库,以及...

    此处仅以VS2010为例,详细说明一下如何在VS环境下生成和使用C++的静态库与动态库。Qt下生成和使用静态和动态库后续再讲。

    本文仅供初学者参考,如果有问题欢迎大家指正。

           首先简单地理解一下静态库与动态库,以及两者的区别。

    静态库(*.lib): 将*.cpp文件中的函数的地址和定义,以及函数之间的链接关系通通打包,生成的一个二进制文件;

    动态库(*.lib+*.dll): 动态库的*.lib文件,打包的只是*.cpp文件中函数的地址和链接,函数的具体定义打包在*.dll文件中。

    联系:

    1.二者都不包含函数的声明部分,因此调用这两种库的时候,都需要包含相应的头文件(*.h);

    2.静态库和动态库的*.lib文件,在生成可执行文件(*.exe)的时候,都将被打包进*.exe文件中;

    区别:

    1.静态库的*.lib文件远大于动态库的*.lib文件;

    2.动态库的*.dll文件作为可执行文件*.exe的附加文件加入到程序中,一般放在*.exe的同级目录下。


    简单地介绍完这两种库,下面来看看在VS下是怎么生成和使用的。

           

    静态库:

    生成

    1.新建一个空的Visual Studio 2010 ,Visual C++, Win32 控制台工程,取名为“testlib”;

    (你可以在向导中选择静态库选项,也可以在后续的设置中设置生成静态库,这里我们在后面进行设置);

    2.构造一个类用于测试,这里叫做“CAdd”类,进行的是整数的加法运算,声明和实现分别保存在文件“add.h”和

    “add.cpp”中:

    “add.h”:

    #ifndef ADD_H
    #define ADD_H
    
    class CAdd
    {
    public:
    	CAdd();
    	~CAdd();
    	int add(int a, int b);
    };
    
    #endif

    "add.cpp":

    #include "add.h"
    CAdd::CAdd()
    {
    
    }
    
    CAdd::~CAdd()
    {
    
    }
    
    int CAdd::add(int a, int b)
    {
    	return a+b;
    }

    可以在“属性”->"C++"->"预编译头"下选择“不使用预编译头”去掉cpp文件的“stdafix.h”的添加要求

    3. 选择编译为静态库:

    在“属性”->“配置属性"->”常规“->”配置类型“下选择”静态库(.lib)“(默认是"应用程序(.exe)"),在此界面上可以更改输出文件(.lib)所在的目录,

    以及lib文件的名称(默认是工程的名称):




    4.选择生成解决方案,这时在你刚刚选择的输出文件夹下(这里是lib文件夹),已经生成了静态库文件,add.lib


    使用

           使用很简单:

    1.属性-》配置属性-》C/C++->常规-》附加包含目录,填写”add.h“所在目录;

      2.属性-》配置属性-》链接器-》附加依赖项,填写”add.lib“;

    3.属性-》配置属性-》链接器-》附件依赖目录,填写”add.lib“所在目录;

    4.在用到CAdd这个类的地方添加头文件包含#include<add.h>

    5.具体调用CAdd类的函数


    下一篇将介绍如何在Visual Studio下生成和使用动态链接库


    展开全文
  • VS2010/2013下生成并使用静态库

    万次阅读 2016-12-03 17:05:34
    第一部分:生成静态库,即.lib文件 第一步:新建一个静态库(static library)项目 打开VS,文件->新建->项目,选择“Win32项目”(备注:其实这里选择“Win32控制台应用程序”也是一样的,因为下一步才是具体的选择...
  • Vs2017调用静态库的详细方法

    千次阅读 2018-11-01 15:06:38
    Vs2017调用静态库的详细方法 步骤1 打开vs2017,新建一个项目。 新建一个静态库项目,点击完成。 步骤2 分别添加头文件testlib.h,和cpp文件testlib.cpp 编辑testlib.h文件如图: 编辑testlib.cpp...
  • vs编译静态库: 1:项目属性--》常规 --》设置输出目录 &amp;&amp; 配置类型 2:在库管理器--》常规--》输出文件 确认路径以及库名   引用静态库: 1.vc++ 目录 --》选择库目录--》选择相应的库所在...
  • vs2010 静态库以及动态库编译实例

    万次阅读 2014-06-17 19:20:42
    最近在研究ffmpeg,所以想
  • VS中创建静态库&C/C++静态库的使用

    千次阅读 2014-06-16 12:58:20
    静态库: Static Libaray   在VS中定义静态库的方法是:
  • VS2015静态库的使用(下)

    千次阅读 2017-07-04 22:46:36
    静态库是一个包含了数据和函数的二进制的文件,其后缀名是lib。当使用静态库编译链接可执行文件时,链接器从库中复制这些函数和数据并把它们和应用程序的其它模块组合起来创建最终的可执行文件。
  • vs2017 怎么添加静态库lib的引用? 之前版本都是在属性管理器里 可是vs2017里没找到啊
  • vs静态库与动态库的调用

    千次阅读 2018-09-27 15:07:58
    解决问题:vs中如何调用库。...库有两种:静态库(.a、.lib)和动态库(.so、.dll)。 .lib文件称作静态链接库,.dll文件称作动态链接库。linux系统下对应的文件为.a文件及.so文件。 将一个程序编译...
  • VS2015静态库的使用(上)

    千次阅读 2017-07-04 22:41:20
    静态库是一个包含了数据和函数的二进制的文件,其后缀名是lib。当使用静态库编译链接可执行文件时,链接器从库中复制这些函数和数据并把它们和应用程序的其它模块组合起来创建最终的可执行文件。
  • 我在其它的项目中需要链接这个库,并且Debug版本的程序链接debug版本的静态库,release版本的程序链接release版本的静态库。现在的情况是,release版本的程序生成成功,debug版本的程序提示链接错误: Logger_D.lib...
  • VS2015 C++ lib静态库的制作以及调用

    千次阅读 2018-12-19 14:30:16
    1 打开vs2015,新建win32应用程序,选择静态库并取消预编译头。 2 接下来进入静态库工程目录,将Debug模式改为Release模式,在属性页-C++的代码生成选择MT或者MTD,在库管理器(管理员)中可以引入导入的第三方库...
  • VS2012创建静态库(Win32)

    千次阅读 2014-09-16 14:31:57
    1、 2、 3、 4、 5、
  • 我的解决办法是:  项目--》属性--》配置属性---》公共语言运行时支持(右边): 无公共语言运行时支持  项目--》属性--》配置属性---》c/c++----》常规---》公共语言运行时支持(右边): 无公共语言运行时支持...
  • VC静态库的调试

    千次阅读 2016-09-02 01:26:18
    VC静态库的调试背景对于动态库或者可执行程序而言,如果想要调试只要将对应的pdb文件和动态库或者可执行文件放在一起即可自动加载符号。 众所周知静态库在最终链接的时候是把代码直接链接到最终的生成文件里的。这...
  • VS2010设置动态库和静态库生成路径

    千次阅读 2014-12-29 10:33:06
    动态库:属性-配置属性-常规-输出目录 静态库:属性-配置属性-链接器-高级-导入库(ps:需要添加静态库名称)
  • vs中使用QT静态库

    千次阅读 2017-12-07 17:49:30
    Vs2015+Qt 5.7.0 使用静态库编译程序 Qt: 是一个跨平台的 C++图形用户界面库,由挪威 TrollTech 公司于1995年底出品。 VS:是Microsoft Visual Studio的简称。VS是美国微软公司的开发工具包系列产品。VS是一个...

空空如也

1 2 3 4 5 ... 20
收藏数 542,639
精华内容 217,055
关键字:

vs静态库