pragma comment 怎么写相对路径到底怎么写

2013年4月 VC/MFC大版内专家分月排行榜第一2007年7月 VC/MFC大版内专家分月排行榜第一2007年5月 VC/MFC大版内专家分月排行榜第一2007年4月 VC/MFC大版内专家分月排行榜第一2007年3月 VC/MFC大版内专家分月排行榜第一
2013年3月 VC/MFC大版内专家分月排行榜第二2013年2月 VC/MFC大版内专家分月排行榜第二2008年8月 VC/MFC大版内专家分月排行榜第二2008年7月 VC/MFC大版内专家分月排行榜第二2007年9月 VC/MFC大版内专家分月排行榜第二2007年8月 VC/MFC大版内专家分月排行榜第二2005年12月 VC/MFC大版内专家分月排行榜第二2005年10月 VC/MFC大版内专家分月排行榜第二
2013年4月 VC/MFC大版内专家分月排行榜第一2007年7月 VC/MFC大版内专家分月排行榜第一2007年5月 VC/MFC大版内专家分月排行榜第一2007年4月 VC/MFC大版内专家分月排行榜第一2007年3月 VC/MFC大版内专家分月排行榜第一
2013年3月 VC/MFC大版内专家分月排行榜第二2013年2月 VC/MFC大版内专家分月排行榜第二2008年8月 VC/MFC大版内专家分月排行榜第二2008年7月 VC/MFC大版内专家分月排行榜第二2007年9月 VC/MFC大版内专家分月排行榜第二2007年8月 VC/MFC大版内专家分月排行榜第二2005年12月 VC/MFC大版内专家分月排行榜第二2005年10月 VC/MFC大版内专家分月排行榜第二
2013年4月 VC/MFC大版内专家分月排行榜第一2007年7月 VC/MFC大版内专家分月排行榜第一2007年5月 VC/MFC大版内专家分月排行榜第一2007年4月 VC/MFC大版内专家分月排行榜第一2007年3月 VC/MFC大版内专家分月排行榜第一
2013年3月 VC/MFC大版内专家分月排行榜第二2013年2月 VC/MFC大版内专家分月排行榜第二2008年8月 VC/MFC大版内专家分月排行榜第二2008年7月 VC/MFC大版内专家分月排行榜第二2007年9月 VC/MFC大版内专家分月排行榜第二2007年8月 VC/MFC大版内专家分月排行榜第二2005年12月 VC/MFC大版内专家分月排行榜第二2005年10月 VC/MFC大版内专家分月排行榜第二
本帖子已过去太久远了,不再提供回复功能。4525人阅读
原文来自:
DLL工程,Debug版本下输出文件由basetool.dll basetool.lib 改为basetoolD.dll basetoold.lib 需设置:
1、配置属性-常规-目标文件名 $(ProjectName) 加d
2、配置属性-连接器-常规-输出问件 由 加d
3、配置属性-连接器-高级-导入库,设置文件名$(OutDir)$ProjectName)d.lib
4、如果有导出文件,.def文件中也一定要修改导出库的名字
&&&&&&& LIBRARY&&&&& &BaseTool&
&&&&& 变为
&&&&& LIBRARY&&&&& &BaseToold&
关于相对目录
相对目录是相对某个文件而言的,例如在&VC&项目属性配置附加包含目录、附加库目录则是相对&*.dsp&、&*.vcproj&文件而言的;在某个&*.c&、&*.cpp&文件中使用&#include&包含命令,是相对这个&*.c&、&*.cpp&文件而言的。
当前目录是可见的,一般直接引用文件名(夹)
对于子文件夹可以添加“./”&。
..&:父目录
../include&:父目录下的&include&目录
../..&:祖父目录
/include&:祖父目录下的&include&目录
-----------------------------------------------------
&pre code_snippet_id=&266485& snippet_file_name=&blog__6399850& style=&white-space: pre- word-wrap: break-&&C/C++附加包含目录和VC++目录包含目录区别?
连接器常规附加库目录和VC++目录库目录区别?
连接器-输入-附加依赖项
&/pre&&pre code_snippet_id=&266485& snippet_file_name=&blog__9126256& class=&best-text mb-10& name=&code& style=&white-space: pre- word-wrap: break- padding: 0 margin-top: 0 font-family: arial, &courier new&, courier, 宋体, margin-bottom: 10 background-color: rgb(255, 252, 246);&&附加依赖项 是指输入项,如某个.LIB文件a.lib,添加到附加依赖项,你的LIB文件被真正包含进来了。等同于“#pragma comment(lib, &winsock.lib&) ”语句附加库目录 是你用 #pragma comment(lib,&a.lib&)的时候;此时就搜索a.lib的路径列表就包含这个路径。
把它所在的目录添加到附加库目录里面 :仅仅包含目录只是告诉IDE,搜索没有指定路径的库文件时,也搜索这里。
------------------------------------------------------------------------------------------------------------------------------------
VC配置基础
一.预处理宏
VC6.0&中:
Project Setting&à&C/C++&à&Preprocessor
definitions
VC2005&中:
项目属性&à&配置属性&à&C/C++&à&预处理器定义
WIN32&:指明是&Window 32&位系统的编译器,一般用作平台识别。
_MBCS/_UNICODE&:指明该工程使用的字符集(多字节字符集&/UNICODE&)。
在&VC6.0&的&“Project Setting&à&C/C++&à&Project
Options”&处将会有&/D &_MBCS&&或&/D &_UNICODE&&开关。
在&VC2005&的&“&项目属性&à&配置属性&à&常规&à&项目默认值&à&字符集&”&中选择&“&使用多字节字符集&”&或&“&使用&Unicode&字符集&”&;在&“&项目属性&à&配置属性&à&C/C++&à&使用&UNICODE&响应文件&”&中选择&“&是&”&或“&否&”&。在&“&项目属性&à&配置属性&à&C/C++&à&命令行&”&处将会有&/D
&_MBCS&&或&/D &_UNICODE& /D &UNICODE&&开关。
当项目中的文件具有&UNICODE&路径(例如中文路径)时,应在&“&项目属性&à&C/C++&à&常规&”&和&“&项目属性&à&链接器&à&常规&”&中开启&“&使用&UNICODE&响应文件&”&开关。
_CONSOLE/_WINDOWS&:指明应用程序的类型(控制台程序&/Windows&窗口应用程序)。
_DEBUG/NDEBUG&:指明编译版本(&Debug/Release&)。
除此之外,&VC&不同的项目类型,有一些特定的宏,以在编译器区分项目类型。
(&1&)&Win32 Static Library&项目
VC6.0&中:
Project Setting&à&C/C++&(&Category&:&General&)&à&Preprocessor
definitions&:&_LIB
如果选择了&MFC Support&则&_WINDOWS,_AFXDLL
VC2005&中:
项目属性&à&常规&à&配置类型&à&静态库&(.lib)
项目属性&à&C/C++&à&预处理器&à&预处理器定义:&_LIB
(&2&)&Win32 Dynamic-Link Library&项目
VC6.0&中:
Project Setting&à&C/C++&à&Preprocessor
definitions&:&_WINDOWS,_USRDLL,DLL_EXPORTS
VC2005&中:
项目属性&à&常规&à&配置类型&à&动态库&(.dll)
项目属性&à&C/C++&à&预处理器&à&预处理器定义:&_WINDOWS;_USRDLL;DLL_EXPORTS
(&3&)&MFC DLL&项目
&1&Regular DLL with MFC statically linked&(带静态链接&MFC&的规则&DLL&)
VC6.0&中:
Project Setting&à&C/C++&à&Preprocessor
definitions&:&_WINDOWS,_WINDLL,_USRDLL
VC2005&中:
项目属性&à&C/C++&à&预处理器&à&预处理器定义:&_WINDOWS;_USRDLL
&2&Regular DLL using shared MFC DLL&(使用共享&MFC DLL&的规则&DLL&)
VC6.0&中:
Project Setting&à&C/C++&à&Preprocessor
definitions&:&_WINDOWS,_WINDLL,_AFXDLL&, _USRDLL
VC2005&中:
项目属性&à&C/C++&à&预处理器&à&预处理器定义:&_WINDOWS;_USRDLL
&3&MFC Extension DLL&(&using shared MFC DLL&)(&MFC&扩展&DLL&)
VC6.0&中:
Project Setting&à&C/C++&à&Preprocessor
definitions&:&_WINDOWS,_WINDLL,_AFXDLL&,_USRDLL
VC2005&中:
项目属性&à&C/C++&à&预处理器&à&预处理器定义:&_WINDOWS;&_AFXEXT
在&DLL&项目中,&_USRDLL&宏表示生成&Export Lib&!
关于&VC&编译器预处理宏,参考:
《&&(&VC6.0&)
《&&(&VC8.0&)》
二.工作目录和控制台程序运行参数
VC6.0&中:
“Project Setting&à&Debug&à&Working
directory”&处填写&exe&程序的工作目录。
在&“Project Setting&à&Debug&à&Program
argument”&处填写&main&运行参数。
VC2005&中:
在&“&项目属性&à&配置属性&à&调试&à&工作目录&”&处填写&exe&程序的工作目录。
在&“&项目属性&à&配置属性&à&调试&à&命令参数&”&处填写&main&运行参数。
默认的工作目录为&ProjectDir&,即&*.dsw/*.vcproj&所在目录。
通过编译器启动(&Ctrl + F5&)应用程序时,可以将所依赖的&lib&和&dll&库文件所在目录设为工作目录。应用程序执行期间,创建、保存文件将在工作目录中。
工作目录是指当前目录,&GetCurrentDirectory()&得到的路径;&SetCurrentDirectory&来改变。
运行目录是指&exe&所在路径,可通过&GetModuleFileName()&得到。
三.附加头文件包含
VC6.0&中:
VC6.0&默认&include&包含路径:&Tools&à&Options&à&Directories&à&Include
对于特定项目的头文件包含,在&“Project Setting&à&C/C++&(&Category&:&Preprocessor&)&à&Additional
include directories”&处添加附加头文件目录,相对目录参考&*.dsp&文件。
目录路径不需添加双引号,路径分隔符为&’/’&或&’/’&,不必考虑反斜杠&’/’&的转义。多个路径之间以逗号&分隔。
相应的在&“Project Setting&à&C/C++&à&Project
Options”&中将会出现&“/I”&的包含命令。
VC2005&中:
VC2005&默认&include&包含路径:工具&à&选项&à&项目和解决方案&à&VC++&目录&à&包含文件。
对于特定项目的头文件包含,在&“&项目属性&à&配置属性&à&C/C++&à&常规&à&附加包含目录&”&处添加附加包含目录,相对目录参考&*.vcproj&文件。
目录路径不需添加双引号,路径分隔符为&’/’&或&’/’&,不必考虑反斜杠&’/’&的转义。多个路径之间以分号&分隔。
相应的在&“&项目属性&à&配置属性&à&C/C++&à&命令行&”&中将会出现&“/I&”&的包含命令。
关于&#include&的两种包含方式
#include&&&&std*.h&&为编译器指定的包含路径下的头文件: 即在&VC6.0&中的&“Tools&à&Options&à&Directories&à&Include
files”&(对应&VC2005&的&“&工具&à&选项&à&项目和解决方案&à&VC++&目录&à&包含文件&”&)处指定的包含目录。默认情况下包括
(&1&)&$(VCInstallDir)include&(&/Microsoft Visual Studio&/VC98/INCLUDE&)
(&2&)&$(VCInstallDir)atlmfc/include&(&/Microsoft Visual Studio&/VC98/ATL/INCLUDE&、&/Microsoft
Visual Studio&/VC98/MFC/INCLUDE&)
(&3&)&$(VCInstallDir)PlatformSDK/include&(&VC2005&)。
用户也可以自己添加包含路径到此。
对于&“Tools&à&Options&à&Directories&à&Include
files”&(&“&工具&à&选项&à&项目和解决方案&à&VC++&目录&à&包含文件&”&)目录下的文件的包含,一般可使用尖括号包含。系统对尖括号的包含优先到编译器设置的包含路径下定位,再到附加包含目录下进行定位。
#include&&MyHeader.h&&为在&“Tools&à&Options&à&Directories&à&Include
files”&(&“&工具&à&选项&à&项目和解决方案&à&VC++&目录&à&包含文件&”&)处人工添加的
包含路径下的头文件或者&附加包含目录下的头文件。
对于编译器提供的标准库函数头文件(&“Tools&à&Options&à&Directories&à&Include
files”&(&“&工具&à&选项&à&项目和解决方案&à&VC++&目录&à&包含文件&”&)),一般使用尖括号进行包含声明,当然使用双引号包含也没有错。
对于在&“Tools&à&Options&à&Directories&à&Include
files”&(&“&工具&à&选项&à&项目和解决方案&à&VC++&目录&à&包含文件&”&)处人工添加的
包含路径和附加包含目录下的头文件的包含可以使用尖括号进行包含,但一般使用双引号。
原则上,对于工程或文件可见的包含目录下的头文件包含,使用以上两种包含方式中的任一种都不会出错,主要是它们在搜索目录时的顺序不一样。习惯上使用尖括号包含 标准库函数头文件,使用双引号包含用户自定义头文件。建议除标准&SDK&(如&DirectX&等),一般针对具体工程使用附加头文件包含即可,尽量不要去动编译器的&“Tools&à&Options&à&Directories&à&Include
files”&(对应&VC2005&的&“&工具&à&选项&à&项目和解决方案&àVC++&目录&à&包含文件&”&)作编译器级全局配置。下面的链接库包含处理同此。
External Dependencies&里面显示的是你的工程要用到的头文件,不在你的工程里面,而且也不在&VC&的默认包含路径中。参考:《&&》。
四.附加链接库包含
VC6.0&中:
VC6.0&默认&lib&包含路径:&Tools&à&Options&à&Directories&à&Library
对于特定项目的头文件包含,可以通过以下两步添加附加链接库:
1.&在&“Project Setting&à&Link&(&Category&:&Input&)&à&Additional
library path”&处添加附加库目录,相对目录参考&*.dsp&文件。
目录路径不需添加双引号,路径分隔符为&’/’&或&’/’&,不必考虑反斜杠&’/’&的转义。多个路径之间以逗号&分隔。
相应的将会在&“Project Setting&à&Link&à&Project
Options”&处同步&“/libpath&”&库包含命令。
2.&在&“Project Setting&à&Link&(&Category&:&General&)&à&Object/Library
Modules”&处添加库文件名&YourLib.lib&(&也可在文件中使用&#pragma&comment(lib,&&YourLib.lib&&)&显式
导入所依赖的静态库),多个库之间以空格&分隔。
相应的将会在&“Project Setting&à&Link&à&Project
Options”&处同步包含的库名称。
VC2005&中:
VC2005&默认&lib&包含路径:工具&à&选项&à&项目和解决方案&à&VC++&目录&à&库文件
对于特定项目的库文件包含,可以通过以下两种方式添加附加库目录:
(&1&)在&“&项目属性&à&配置属性&à&链接器&à&常规&à&附加库目录&”&处输入附加库目录路径,相对目录参考&*.vcproj&文件。
目录路径不需添加双引号,路径分隔符为&’/’&或&’/’&,不必考虑反斜杠&’/’&的转义。多个路径之间以分号&分隔。
相应的将会在&“&项目属性&à&配置属性&à&链接器&à&命令行&”&处同步&“/LIBPATH”&库包含命令。
(&2&)在&“&项目属性&à&配置属性&à&链接器&à&输入&à&附加依赖项&”&处添加库文件名&YourLib.lib&(&也可在文件中使用&#pragma
comment(lib, &YourLib.lib&)&显式 导入所依赖的静态库),多个库之间以空格&分隔。
相应的将会在&“&项目属性&à&配置属性&à&链接器&à&命令行&”&处同步包含的库名称。
在&“&项目属性&à&配置属性&à&链接器&à&命令行&”&处添加库文件名&YourLib.lib&(&必要时添加相对目录,保证&YourLib&的可见性)。
五.生成文件目录设置
VC6.0&中:
在&“Project Setting&à&General&à&Output
directories”&的&“Output files”&处填写&*.exe&或&*.lib/*.dll&的生成目录,相应在&“Project
Setting&à&Link&(或&Library&)&à&Output
file name”&处将会同步文件输出路径。相对目录参考&*.dsp&文件。
在&“Project Setting&à&General&à&Output
directories”&的&“Intermediate files”&处填写中间文件生成目录。相对目录参考&*.dsp&文件。
VC2005&中:
在&“&项目属性&à&常规&à&输出目录&”&处填写输出目录,在&“&项目属性&à&常规&à&中间目录&”&处填写中间目录,相对目录参考&*.vcproj&文件。
在&“&项目属性&à&链接器(或管理员)&à&常规&à&输出文件&”&处填写输出文件路径。
输出目录(&OutDir&)一般为&$(SolutionDir)$(ConfigurationName)
输出文件(&OutputFile&)一般为&$(OutDir)/$(ProjectName).exe&(&*.lib&,&*.dll&)
$(SolutionDir)&为&*.sln&文件所在文件夹,尾带&‘/’&;
$(ProjectDir)&为&*.vcproj&文件所在文件夹,尾带&‘/’&;
$(ConfigurationName)&为&*.sln&的&*.vcproj&文件所在文件夹下的&debug&、&release&文件夹,参考&*.vcproj&文件中的&&Configurations&&配置项。
具体在&“&项目属性&à&配置属性&à&调试&à&命令&”&下拉点击&“&编辑&”&,展开&“&宏&(M&)&&”&,可以看到很多项目内置宏。
一般的配置为:
输出目录&(&OutDir&):&$(ProjectDir)$(PlatformName)/$(ConfigurationName)
中间目录&(&IntDir&):&$(OutDir)/Intermediate
输出文件&:&$(OutDir)/$(ProjectName).lib(dll&、&exe)
六.关于相对目录
相对目录是相对某个文件而言的,例如在&VC&项目属性配置附加包含目录、附加库目录则是相对&*.dsp&、&*.vcproj&文件而言的;在某个&*.c&、&*.cpp&文件中使用&#include&包含命令,是相对这个&*.c&、&*.cpp&文件而言的。
当前目录是可见的,一般直接引用文件名(夹),对于子文件夹可以添加&”./”&。
..&:父目录
../include&:父目录下的&include&目录
../..&:祖父目录
/include&:祖父目录下的&include&目录
七.依赖项目联编
一个解决方案&(dsw&、&sln)&可以创建很多辅助子项目&(dsp&、&vcproj)&,如何设置使在编译主项目的时,先编译所依赖的辅助项目呢?
一般会配置辅助子项目的&OutDir&和主项目相同,这样生成的&lib&或&dll&对于主项目&exe&直接可见。
VC6.0&中:
选择菜单&“Project&à&Dependencies”&可以选择需要联编的项目。
VC2005&中:
在解决方案资源管理器中右击项目名称,选择&“&引用&”&或&“&项目依赖项&”&菜单,可选择项目依赖项,并可以设置依赖顺序。
八.附加DLL 调试
VC6.0&中:
如果你需要调试的&DLL&是动态装入(&LoadLibrary&)的,则需要在&“Project Setting&à&Debug&(&Category&:&Additional
DLLs&)&”&处添加这个&DLL&文件。
九.导出makefile
VC6.0&中选择菜单&“Project&à&Export Makefile”&即可导出&Makefile&文件&*.mak&。
VC6&以后不再支持&makefile&输出了。
参考:《&》,《&》,《&&》
十.代码的编辑与阅读导航
Visual Studio&本身就带有充分的代码组织、编辑、分析以及阅读能力的支持。
VC6.0&和&VC2005&中的&“Edit&à&Find
in Files”&支持指定项目、工程或文件内的关键字搜索。
VC6.0&的&“Tools&à&Source Browser”&,提供对&“Definitions
and References”&、&“File Outline”&、&“Base Classes and Members”&、&“Derived Classes and Members”&、&“Call
Graph”&、&“Callers Graph”&等导航功能支持。
VC2005&右键快捷菜单中支持&“&查找所有引用&”&;右键快捷菜单中的&“&调用浏览器&”&支持函数调用关系图和被调用关系图的查看。&“&类视图设置&”&中支持显示&“&基类型&”&、&“&派生类型&”&、&“&继承成员&”&等功能。
此外,在阅读代码时,我们可以使用书签(&Bookmark&)来设置锚点,这样就可以实现基于书签的自定义索引导航。
下面介绍常用的编程辅助插件软件及源代码层次结构分析工具软件。
1.&是一款非常好的&Microsoft Visual Studio&辅助插件,支持&C/C&++,&C&#,&ASP&,&Visual
Basic&,&&和&HTML&等语言,能自动识别各种关键字、系统函数、成员变量、自动给出输入提示、自动更正大小写错误、自动标示错误等,有助于提高开发过程的自动化和开发效率。
2&.&Windows&下的&&是一个面向项目开发的程序编辑器和代码导航浏览器, 它还能显示&reference trees&,&class inheritancediagrams&和&call trees&。相应的&Linux&下阅读源代码的利器&&能很好地解决文件定位和跳转问题。
3&.&&是利用&UML&(统一建模语言)进行分析和设计面向对象软件系统的强大的可视化工具,可以进行项目需求分析、结构规划和生成框架代码,还可以支持从现有系统逆向转出工程代码,生成&Rose&模型的功能。
逆向工程(&Reverse Engineer&)就是从现有系统的代码来生成模型的功能。通过&Rational Rose&分析已有的代码,可了解代码结构和数据结构,生成类层次关系图、数据模型图和组件图。
十一. VC6 常用快捷键
Alt+F7&:&Project Settings
Ctrl+J/K&:寻找上一个&/&下一个预编译条件
Ctrl+Shift+J/K&:寻找上一个&/&下一个预编译条件并将这一块选定
Ctrl+Tab&:当前打开文档和上一次打开文档切换。
Alt+O&:头文件与&cpp&文件的交互显示
F12&:&Goto definition
Shift+F12&:&Goto reference
Ctrl+Home&: 文档头
Ctrl+Shift+Home&: 选定从当前位置到文档头
Ctrl+End&: 文档尾
Ctrl+Shift+End&: 选定从当前位置到文档尾
Alt+F8&:自动格式重排
Ctrl+F4&:关闭当前文档
Ctrl+Z/Alt+Backspace&:&Undo
Ctrl+Shift+Z/Ctrl+Y&:&Redo
Ctrl+B/Alt+F9&: 编辑断点
Ctrl+Shift+F9&: 去掉所有断点
Ctrl+D&: 定位工具条查找输入栏
Alt+F3/Ctrl+F&:当前文档 查找
Ctrl+F3&: 查找下一个
Ctrl+Shift+F3&: 查找上一个
Ctrl+H&:替换
Ctrl+]&:括号匹配
Ctrl+&↑&: 向上滚屏
Ctrl+&↓&: 向下滚屏
Ctrl+&←&: 移到前一个单词
Ctrl+&→&: 移到后一个单词
Ctrl+Shift+&←&: 选定当前位置到前一个单词
Ctrl+Shift+&→&: 选定当前位置到后一个单词
Ctrl+Backspace&: 删除当前单词的前半截(以光标为分割)
Ctrl+Del&: 删除当前单词的后半截(以光标为分割)
Ctrl+L&:剪切当前行
Ctrl+Shift+L&:删除当前 行
F2&:上一个书签
Shift+F2&:上一个书签
Alt+F2&:编辑书签
Ctrl&+&F2&:添加&/&删除一个书签
Ctrl+Shift+F2&: 清除所有书签
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:8431次
排名:千里之外
(window.slotbydup = window.slotbydup || []).push({
id: '4740887',
container: s,
size: '250,250',
display: 'inlay-fix'C语言调用Lua中的文件路径问题 .
我的图书馆
C语言调用Lua中的文件路径问题 .
testlua.c 源代码:
#include "./luaSrc/lua.h"#include "./luaSrc/lualib.h"#include "./luaSrc/lauxlib.h"#pragma comment(lib, "./luaSrc/liblua.lib")&int main(void){lua_State *L = luaL_newstate();luaL_openlibs(L);luaL_dofile(L, "./luaSrc/test.lua");lua_close(L);return 0;
说明:1、目录luaSrc为testlua.c所在的目录建立的文件夹。lua.h、lualib.h、lauxlib.h、liblua.lib、test.lua文件都放在luaSrc文件夹下
2、#include中的"./luaSrc/lua.h", 也可以写成“.\luaSrc\lua.h”。其中./(.\)代表当前源代码所在的
3、#pargma comment(lib, "./luaSrc/liblua.lib") 中只能是"./luaSrc/liblua.lib",不识别.\luaSrc\liblua.lib
4、luaL_dofile中的“./luaSrc/test.lua”(文件路径为相对路径,也可以是绝对路径),不识别.\lua\Src\test.lua
喜欢该文的人也喜欢MFC(161)
2005项目中添加lib库
&&&&&&应用程序使用外部库时需要进行加载,两种库的加载本质上都是一样:提供功能和功能的定义。vs2005
c++ 项目设置外部库方法如下:
1. 添加编译所需要(依赖)的 lib 文件
&&&&&在“项目-&属性-&配置属性-&连接器-&输入-&附加依赖项”里填写“winsock.lib”,多个 lib 以空格隔开。等同于“#pragma comment(lib, &*.lib&) ”语句。
2. 添加库(libs)文件目录
&&&&&方法 1:项目-&属性-&配置属性-&连接器-&常规-&附加库目录”
&&&&&方法 2:[菜单]“工具-&选项-&项目和解决方案-&c++ 目录”,选择对应平台,然后添加所需“库文件”目录
&&&&&这个设置类似于设置环境变量,主要是为程序设置搜索的库目录,真正进行库加载还需要进行第一种设置!
3. 添加包含(include)文件目录
&&&&&方法 1:“项目-&属性-&配置属性-&c/c++-&常规-&附加包含目录”
&&&&&方法 2:[菜单]“工具-&选项-&项目和解决方案-&c++ 目录”,添加所需“包括文件”目录
&&&&&方法2类似于设置环境变量。
4. 导入库(import)
&&&&在“项目-&属性-&配置属性-&连接器-&高级-&导入库”填写需要生成的导入库
相对路径的设置
&&&&&在VS的工程中常常要设置头文件的包含路径,当然你可以使用绝对路径,但是如果你这样设置了你只能在你自己的机器上运行该工程;如果其他人拷贝你的工程到其他机器上就可能无法运行,这个是因为你在建工程时可能把工程放在了E:盘,但是其他人可能会把工程放在其他根目录下,这样会导致找不到头文件问题。
对于新手,在设置绝对路径时往往会犯浑,他们不清楚这里的“相对”究竟是以什么位置为起点。其实这里的相对路径就是相当于工程文件(XXXX.vcproj)为起点零计算出的能找到包含所需头文件(也就是找包含所需头文件的include目录)的路径。
例如你的工程文件(Count.vcproj)所在目录路径为:
E:\projects\Count\Count\Count.vcproj
该工程需要包含一个图片参数,该图片所在路径如下:
E:\projects\Count\pic\pic01.jpg
这里程序中的相对路径设置如下:
..\\pic\\pic02.jpg
程序代码中的参数路径设置时要用双斜线:
#include &..\TestLib\lib.h&
#pragma comment(lib,&..\\debug\\TestLib.lib&);
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:189791次
积分:2969
积分:2969
排名:第12343名
原创:37篇
转载:400篇
译文:21篇
(3)(15)(15)(28)(11)(11)(4)(1)(2)(30)(31)(28)(36)(15)(14)(16)(27)(59)(63)(2)(33)(16)
(window.slotbydup = window.slotbydup || []).push({
id: '4740887',
container: s,
size: '250,250',
display: 'inlay-fix'

我要回帖

更多关于 gcc pragma comment 的文章

 

随机推荐