c++builder怎么像vc++一样在一个工程里面vc 添加lib.c和.h文件

博客访问: 144484
博文数量: 36
博客积分: 2000
博客等级: 大尉
技术积分: 382
注册时间:
APP发帖 享双倍积分
IT168企业级官微
微信号:IT168qiye
系统架构师大会
微信号:SACC2013
分类: C/C++
&& 最近在研究BCB中资源文件的嵌入,找到一些资料,整理了一下,写下来供参考。
&& 资源文件是一个以.rc结尾的文本文件,RC是资源脚本(Resource & Script)的意思,它的格式很简单,每行一个资源,按如下格式定义:
  资源标识符&& 资源类型&& 资源的路径
&& RC文件用来描述各种系统资源,包括:
&& ACCELERATORS & 菜单快捷键 & && BITMAP & 位图 & && CURSOR & 光标 & && DIALOG & 对话框模板 & && DIALOGEX & 对话框模板(扩展的) & && FONT & 字体 & && ICON & 图标 & && MENU & 菜单 & && MENUEX & 菜单(扩展的) & && MESSAGETABLE & 消息表 & && POPUP & 弹出式菜单 & && RCDATA & 二进制数据 & && STRINGTABLE & 字符串表 & && VERSIONINFO & 版本信息 & && 另外可以按如下定义自定义数据格式:
&& CUSTOM&&自定义数据&  例子:以下的src1.rc文件定义了一个声音资源,两个光标资源,三个图标资源和一个exe文件资源。  src1.rc:  S1    WAV   wav1.Wav  C1    CURSOR cursor1.cur  C2    CURSOR cursor2.cur  I1    ICON  icone1.ico  I2    ICON  icone2.ico  I3    ICON  icone3.ico  unzip   EXEFILE pkunzip.exe  可以将写好的rc文件加到project(项目)中。也可以手工将其编译为供程序直接使用的二进制资源文件(.res文件)加到project(项目)中。在BCB中,可以使用命令行:brcc32 src1.rc src1.res进行编译。&&&■能够利用windows API函数直接访问的资源有:  图标  LoadIcon()  光标  LoadCursor()  加速表 LoadAccelerators()  位图  LoadBitmap()  菜单  LoadMenu()  字符串 LoadString()  前五个API函数使用方法都一样,带两个参数。  第一个参数指明资源的存放地,第二个参数为rc文件中资源的标识。  字符串LoadString除这两个参数外,还有两个参数,指明字符串缓冲区的地址和大小。&& 下面按照使用的简繁程度,依次说明各类资源的使用方法。需要说明的是,下面讲述的使用方法,在别的编译环境下(BC, VC等)也是一样的。  1:建立一个新的项目  启动BCB,选FILE- >new- >Application 建立一个新的项目。  在project- >Add to Project中,加入写好的src1.rc文件。当然,那些声音、光标、图标文件都应该存在。  这时,我们有了一个空的窗体(Form)。  下面的一小段程序示范了图标和光标的使用。  在Form上放置一个按纽,在其OnClick事件中加入以下代码:
void __fastcall TForm1::Button1Click(Tobject *Sender){ & //将光标形状改为自己定义的:  Screen- >Cursors[crDefault] = LoadCursor( Hinstance, "C1");  //将图标改为自己定义的:
  Icon = new Ticon() ;  Icon- >Handle = LoadIcon(Hinstance,"I1");  Application- >Icon = I}   其中的Hinstance指示资源所在地为执行文件。编译执行后,点击该按纽,光标和图标都会换成新的。  对于声音、动画等文件,可以使用windows API函数播放。但是不象上面几种资源,需要遵循一定的步骤。如下所示,依次调用FindResource, LoadResource, LockResource函数,来播放一个Wav声音文件。  (当然,独立的声音文件可以在运行时直接播放。我们这里讨论的是将wav文件编译进EXE文件的情况)  在Form上放置第二个按纽,在其OnClick事件中加入以下代码:void __fastcall TForm1::Button2Click(Tobject *Sender){//定义资源块char *wav_//装入Wav文件HRSRC h = FindResource(Hinstance,"S1","WAV"); & HGLOBAL h1 = LoadResource(Hinstance, h); & wav_handle = (char *)LockResource(h1);//播放Wav文件。由于Wav文件装载在内存中,   sndPlaySound函数要用SND_MEMORY参数sndPlaySound(wav_handle, SND_MEMORY | SND_SYNC);}  编译执行后,点击该按纽,会播放一次声音。  对于动画等文件,使用方式类似Wav文件。(BCB提供了一个Tanimate控件,可以播放无声的Avi文件)  ■不能直接通过windows API使用的资源    此种资源不能够由windows API直接访问和执行。但是,我们可以用一种变通的方法来使用它。  下面示范如何使用pkunzip.exe,思路如下:程序运行时,将pkunzip.exe从EXE文件中分离出来,放在临时目录下,用ShellExecute()执行它。  在FORM上放置第三个按纽,再放置两个Edit ,用来输入pkunzip.exe的参数。void __fastcall TForm1::Button3Click(Tobject *Sender){char exefile[100], tmppath[100] ;     //检查pkunzip.exe是否已经存在GetTempPath( 100, tmppath ) ;   strcpy( exefile ,(AnsiString(tmppath)+  & AnsiString("") ).c_str() ) ;ret = GetFileAttributes( exefile ) ;   if( ret == 0xffffffff )  & { //不存在,则分离出pkunzip.exe      TResourceStream &rs = *new TResourceStream( (int)Hinstance, AnsiString("unzip"),"EXEFILE" ) ;   rs.SaveToFile( AnsiString(exefile) ) ;     & delete & & }  //执行pkunzip.exe& // Edit1- >Text和Edit2- >Text分别为运行时输入的zip文件名和目标文件目录。ShellExecute(Hinstance, "open", exefile, AnsiString("-d ") + Edit1- >Text + " " + Edit2- >Text).c_str(), tmppath, SW_HIDE ) ;     Application- >MessageBox("解压缩完成", "OK", IDOK ) ;}&& 下面的代码片断是把Windows自带的写字板writer.exe当成资源嵌入并释放,其资源类型使用了自定义数据格式(CUSTOM)的类型:
& //资源文件writer.exe长度为204800Byte,在资源文件中定义为"CUSTOM"资源,编号为1111&&&HRSRC&&&hMyR&&&&&//resource handle &&HGLOBAL&&&&&&&&&&//resource pointer &&LPVOID&&&&lpB&&&&&//resource buffer pointer &&DWORD&&&&&rcSize=204800;&&&&//resource size &&HANDLE&&&&hF//file to write &&LPDWORD&&dwB//byte size had been write &&dwByte=&rcS //locate the resource and load the resource to memory and lock it &&hMyRes=FindResource((HMODULE)GetWindowLong(Handle,GWL_HINSTANCE),MAKEINTRE SOURCE(1111),"CUSTOM"); &&if(hMyRes==NULL) &&& ShowMessage(SysErrorMessage(GetLastError())); &&hgpt=LoadResource(NULL,hMyRes); &&if(hgpt==NULL) &&&&ShowMessage(SysErrorMessage(GetLastError())); &&lpBuff=LockResource(hgpt); //now i will read the resource and write it to an file &&try&&&&{ &&&&hFile=CreateFile("e:\\mywriter.exe",GENERIC_WRITE,0,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL); &&&&WriteFile(hFile,lpBuff,rcSize,dwByte,NULL); &&&&if(*dwByte!=204800) &&&&&&ShowMessage("Failed to write to file"); &&&&} &&&__finally &&&&{ &&&&CloseHandle(hFile); &&&&}&&&&学习以上知识后,偶自己也写了一个关于国标图库GBTK的小程序,功能是把安装国标图库时生成的原始的archlib.idx当成资源文件嵌入(使用CUSTOM自定义数据格式),做成一个引导程序,放到国标图库的安装目录下,当运行这个引导程序时,先删除国标图库安装目录下的archlib.idx文件,然后释放原始的archlib.idx文件,最后引导国标图库运行,这样就可以解决国标图库更新后因为archlib.idx的原因引起的部分更新图集不能打开的问题了,也当是练练手了^o^。把该程序复制到国标图库的安装目录下就可以了,也可以修改一下桌面的国标图库单机版快捷方式(见图),这样使用就更方便了。
500)this.width=500;" border=0>
GBTK2006.rar
阅读(1237) | 评论(0) | 转发(0) |
相关热门文章
给主人留下些什么吧!~~
请登录后评论。> 别人给的VC++的静态库lib文件和.h文件,h头文件里是一些类的定义,怎么在C++Builder里调用这个静态库
别人给的VC++的静态库lib文件和.h文件,h头文件里是一些类的定义,怎么在C++Builder里调用这个静态库
hanyuem & &
发布时间: & &
浏览:3 & &
回复:8 & &
悬赏:0.0希赛币
别人给的VC++的静态库lib文件和.h文件,.h头文件里是一些类的定义,如何在C++Builder里调用这个静态库别人给的VC++的静态库lib文件和.h文件,(是个USB的库函数).h头文件里是一些类的定义,如何在C++Builder里调用这个静态库,试了好多办法不行啊,求各位大神帮帮忙
有dll文件吧
hanyuxdc & &
23:13:56 & &
& & (0)(0)引用有dll肯定可以没dll得想办法,
hanyuxuan & &
23:13:56 & &
& & (0)(0)引用调不了VC的静态库,用vc做一个DLL封装这个静态库,然后再调用这个DLL
hanyuqiuiyu & &
23:13:56 & &
& & (0)(0)引用那就按上述方法,用vc做个DLL最可靠
hanyuxlk & &
23:13:56 & &
& & (0)(0)引用这个类,我没做过,你能不能把他封装成普通的参数 char*,int等类型。让类在vc的dll里工作。
hanyunrp & &
23:13:56 & &
& & (0)(0)引用这里有个链接,可供参考
hanyuxdc & &
23:13:56 & &
& & (0)(0)引用xe2可以调用静态库,但是需要把lib拆成obj
hanyuting & &
23:13:56 & &
& & (0)(0)引用这里有个链接,可供参考hanyushui & &
23:13:56 & &
& & (0)(0)引用
本问题标题:
本问题地址:
温馨提示:本问答中心的任何言论仅代表发言者个人的观点,与希赛网立场无关。请对您的言论负责,遵守中华人民共和国有关法律、法规。如果您的言论违反希赛网问答中心的规则,将会被删除。
暂无合适的专家
&&&&&&&&&&&&&&&
希赛网 版权所有 & &&$bcb/bin目录中有个implib.exe
把你的vc.dll和implib.exe复制到c盘根目录下
进入c盘根目录执行
c:\implib -a cb.lib&vc.dll
会生成cb.lib,将生成出的文件添加进入工程,然后再将对应的.h添加进入工程,将dll复制到项目路径下即可。
--------------------------------------------------------------------------------------------------------
VC++的.lib有两种:一种是静态DLL,其中包括函数的实际代码,一种是有DLL生成的.lib,其中并不包含代码,只是包含DLL的链接信息。对 于后一种比较简单,只需要使用C++&Builder中的命令行工具implib直接对DLL进行进行转换就可以了,不必理会VC++的.lib文件。但 是前一种就很麻烦了,因为VC++和BCB的.lib格式差别很大,无法直接使用或转换。以前我也遇到过类似的问题,一个硬件厂商只提供了VC++的库文 件,为了在BCB中使用,首先在VC++中建立一个DLL,添加若干函数,这些输出函数供BCB调用。在这些函数中调用.lib中的函数。这样BCB调用 DLL中的函数,DLL中的函数再调用.lib中的函数,虽然麻烦些,但可以解决问题。
用Program&Files\Borland\CBuilder6\Bin\coff2omf.exe转换就了!&
&&&&主持人注:coff2omf可以转换微软的COFF格式为Borland使用的OMF格式。但是这个工具有一些限制:转换一般的C函数还可以,转换C++类有困难;这个工具在处理新版本的VC++生成的库时可能有问题。&
&&&&另外,可以参考
&Using&Visual&C++&DLLs&in&a&C++Builder&Project&
/articles/vcdll.htm和/articles/vcdll2.htm&
据说VC的lib文件跟BCB不通用
不过你也不用急啊,有dll文件可以自已生成lib文件滴
implib&filename.lib&filename.dll
就可以生成一个lib
如果你有DLL的话可以用IMPLIB从DLL中生成符合BCB要求的LIB文件。也可以用COFF2OMF来转换LIB文件的格式。
coff2omf&&&a.lib&&&b.lib&&&
&&将库文件a.lib转换格式生成库文件b.lib
&&如果他是一个dll的导出库,你可以用implib&xxx.lib&xxx.dll自己做一个lib
如果他是vc的静态库,可以给coff2omf分别加几次不同的参数试试:
看有没有哪次可以的&&
---------------------------------------------------------------------------
命令行工具 TDUMP 允许你检查 DLL 导出函数的连接名字。下面向 DLL 调用 TDUMP 的命令。
  TDUMP -ee -m MYDLL.DLL & MYDLL.LST
  TDUMP 能报告许多关于 DLL 的信息。我们仅对 DLL 的导出函数感兴趣。-ee 命令选项指示 TDUMP 仅列出导出信息。-m 开关告诉 TDUMP 按 DLL 函数的原始格式显示。如果没有 -m 开关,TDUMP 将尝试把修饰过的函数转化为人们易读的格式。如果 DLL 很大的话,你应该重定向 TDUMP 的输出到一个文件里(通过附加的 & MYDLL.LST)。
  TDUMP 为源程序清单 A 和 B 的测试 DLL 输出如下:
  Turbo Dump Version 5.0.16.4 Copyright (c)
Borland International  Display of File DLL.DLL
  EXPORT ord:0000='CdeclFunction'  EXPORT
ord:0002='UnknownFunction'  EXPORT ord:0001='_StdCallFunction@4'
  注意在 __stdcall 函数上的前缀下划线和后缀 @4。__cdecl 和未指定调用方式的函数没有任何修饰符。
----------------------------------------------------------------------------
32位DLL的引入库是.lib格式,64位DLL的引入库是.a格式。64位的DLL只能在64位的程序中调用。检查一下.a文件的路径,确认加入到工程中了?或者用#pragma指令的话,.a文件所在的路径包含在library&path中了吗?
阅读(...) 评论()2015年8月 Delphi大版内专家分月排行榜第二2015年7月 Delphi大版内专家分月排行榜第二2014年8月 C++ Builder大版内专家分月排行榜第二2013年9月 C++ Builder大版内专家分月排行榜第二2013年6月 C++ Builder大版内专家分月排行榜第二2013年5月 C++ Builder大版内专家分月排行榜第二2013年4月 C++ Builder大版内专家分月排行榜第二2013年3月 C++ Builder大版内专家分月排行榜第二2012年9月 C++ Builder大版内专家分月排行榜第二2012年8月 C++ Builder大版内专家分月排行榜第二2012年3月 C++ Builder大版内专家分月排行榜第二2012年2月 C++ Builder大版内专家分月排行榜第二2011年7月 C++ Builder大版内专家分月排行榜第二
2014年7月 C++ Builder大版内专家分月排行榜第三2014年6月 C++ Builder大版内专家分月排行榜第三2013年8月 C++ Builder大版内专家分月排行榜第三2013年7月 C++ Builder大版内专家分月排行榜第三2013年1月 C++ Builder大版内专家分月排行榜第三2012年12月 C++ Builder大版内专家分月排行榜第三2012年11月 C++ Builder大版内专家分月排行榜第三2011年11月 C++ Builder大版内专家分月排行榜第三2011年8月 C++ Builder大版内专家分月排行榜第三2011年6月 C++ Builder大版内专家分月排行榜第三
2015年8月 Delphi大版内专家分月排行榜第二2015年7月 Delphi大版内专家分月排行榜第二2014年8月 C++ Builder大版内专家分月排行榜第二2013年9月 C++ Builder大版内专家分月排行榜第二2013年6月 C++ Builder大版内专家分月排行榜第二2013年5月 C++ Builder大版内专家分月排行榜第二2013年4月 C++ Builder大版内专家分月排行榜第二2013年3月 C++ Builder大版内专家分月排行榜第二2012年9月 C++ Builder大版内专家分月排行榜第二2012年8月 C++ Builder大版内专家分月排行榜第二2012年3月 C++ Builder大版内专家分月排行榜第二2012年2月 C++ Builder大版内专家分月排行榜第二2011年7月 C++ Builder大版内专家分月排行榜第二
2014年7月 C++ Builder大版内专家分月排行榜第三2014年6月 C++ Builder大版内专家分月排行榜第三2013年8月 C++ Builder大版内专家分月排行榜第三2013年7月 C++ Builder大版内专家分月排行榜第三2013年1月 C++ Builder大版内专家分月排行榜第三2012年12月 C++ Builder大版内专家分月排行榜第三2012年11月 C++ Builder大版内专家分月排行榜第三2011年11月 C++ Builder大版内专家分月排行榜第三2011年8月 C++ Builder大版内专家分月排行榜第三2011年6月 C++ Builder大版内专家分月排行榜第三
2013年4月 C++ Builder大版内专家分月排行榜第三2013年3月 C++ Builder大版内专家分月排行榜第三2012年9月 C++ Builder大版内专家分月排行榜第三2012年8月 C++ Builder大版内专家分月排行榜第三
2015年8月 Delphi大版内专家分月排行榜第二2015年7月 Delphi大版内专家分月排行榜第二2014年8月 C++ Builder大版内专家分月排行榜第二2013年9月 C++ Builder大版内专家分月排行榜第二2013年6月 C++ Builder大版内专家分月排行榜第二2013年5月 C++ Builder大版内专家分月排行榜第二2013年4月 C++ Builder大版内专家分月排行榜第二2013年3月 C++ Builder大版内专家分月排行榜第二2012年9月 C++ Builder大版内专家分月排行榜第二2012年8月 C++ Builder大版内专家分月排行榜第二2012年3月 C++ Builder大版内专家分月排行榜第二2012年2月 C++ Builder大版内专家分月排行榜第二2011年7月 C++ Builder大版内专家分月排行榜第二
2014年7月 C++ Builder大版内专家分月排行榜第三2014年6月 C++ Builder大版内专家分月排行榜第三2013年8月 C++ Builder大版内专家分月排行榜第三2013年7月 C++ Builder大版内专家分月排行榜第三2013年1月 C++ Builder大版内专家分月排行榜第三2012年12月 C++ Builder大版内专家分月排行榜第三2012年11月 C++ Builder大版内专家分月排行榜第三2011年11月 C++ Builder大版内专家分月排行榜第三2011年8月 C++ Builder大版内专家分月排行榜第三2011年6月 C++ Builder大版内专家分月排行榜第三
2015年8月 Delphi大版内专家分月排行榜第二2015年7月 Delphi大版内专家分月排行榜第二2014年8月 C++ Builder大版内专家分月排行榜第二2013年9月 C++ Builder大版内专家分月排行榜第二2013年6月 C++ Builder大版内专家分月排行榜第二2013年5月 C++ Builder大版内专家分月排行榜第二2013年4月 C++ Builder大版内专家分月排行榜第二2013年3月 C++ Builder大版内专家分月排行榜第二2012年9月 C++ Builder大版内专家分月排行榜第二2012年8月 C++ Builder大版内专家分月排行榜第二2012年3月 C++ Builder大版内专家分月排行榜第二2012年2月 C++ Builder大版内专家分月排行榜第二2011年7月 C++ Builder大版内专家分月排行榜第二
2014年7月 C++ Builder大版内专家分月排行榜第三2014年6月 C++ Builder大版内专家分月排行榜第三2013年8月 C++ Builder大版内专家分月排行榜第三2013年7月 C++ Builder大版内专家分月排行榜第三2013年1月 C++ Builder大版内专家分月排行榜第三2012年12月 C++ Builder大版内专家分月排行榜第三2012年11月 C++ Builder大版内专家分月排行榜第三2011年11月 C++ Builder大版内专家分月排行榜第三2011年8月 C++ Builder大版内专家分月排行榜第三2011年6月 C++ Builder大版内专家分月排行榜第三
2013年4月 C++ Builder大版内专家分月排行榜第三2013年3月 C++ Builder大版内专家分月排行榜第三2012年9月 C++ Builder大版内专家分月排行榜第三2012年8月 C++ Builder大版内专家分月排行榜第三
2013年4月 C++ Builder大版内专家分月排行榜第三2013年3月 C++ Builder大版内专家分月排行榜第三2012年9月 C++ Builder大版内专家分月排行榜第三2012年8月 C++ Builder大版内专家分月排行榜第三
本帖子已过去太久远了,不再提供回复功能。本人初学c++,使用vs2010.在阅读c++&primer&的过程中做练习题,下载了这本书自带的库文件。&但是不知道如何在vs2010中正确的添加头文件。希望哪位能够帮助解答一下,我在网上找了一些资料,但是不太明白。&谢谢啦。
回复讨论(解决方案)
头文件少的话,直接在工程中,右键--添加--现有项,
多的话&,把头文件所在目录添加进去:
项目---属性---配置属性---VC++目录,在包含目录中,添加头文件所在路径
头文件少的话,直接在工程中,右键--添加--现有项,
多的话&,把头文件所在目录添加进去:
项目---属性---配置属性---VC++目录,在包含目录中,添加头文件所在路径
我按照你的方法添加了Sales_item.h这个头文件&在这个头文件中包含一个Version_test.h的头文件&我也添加了这个头文件&但是当我写main的时候#include&&Sales_item.h&却显示应输入文件名&&一下是我的代码&
#include&&iostream&
#include&''Sales_item.h&
int&main()&
Sales_item&
std::cin&&
std::&&book&&std::
错误提示如下
e:\c++&work&space\salebook\salebook\main.cpp(2):&error&C2137:&空字符常量
e:\c++&work&space\salebook\salebook\main.cpp(2):&error&C2006:&“#include”:&应输入文件名,却找到“常量”
e:\c++&work&space\salebook\salebook\main.cpp(2):&fatal&error&C1083:&无法打开包括文件:“”:&No&such&file&or&directory
能否给解答一下&&谢谢啦!!
#include&&iostream&
#include&&Sales_item.h&//这里是双引号&不是两个单引号''
int&main()&
Sales_item&
std::cin&&
std::&&book&&std::
#include&''Sales_item.h&
后面的一个双引号都没有匹配的了。估计敲这句话的时候忘记按shift键了。
#include&&iostream&
#include&&Sales_item.h&//这里是双引号&不是两个单引号''
int&main()&
Sales_item&
std::cin&&
std::&&book&&std::
我改成双引号,应该不是这个问题。但是现在提示无法打开源文件Sales_item.h,这应该怎么解决呀
你这样一个问题一个问题的问,不得累死了啊、、建议多看书先
提示头文件打不开,加载上库文件就可以了、
你这样一个问题一个问题的问,不得累死了啊、、建议多看书先
提示头文件打不开,加载上库文件就可以了、
谢谢你的建议。我前面已经在项目里添加了头文件,所以我才会问为什么显示头文件打不开。
项目、属性、C/C++、附加包含目录:填写附加头文件所在目录&分号间隔多项
项目、属性、链接器、附加库目录:填写附加依赖库所在目录&分号间隔多项
项目、属性、链接器(点前面的+展开)、输入、附加依赖项:填写附加依赖库的名字.lib&空格间隔多项
项目、属性、C/C++、附加包含目录:填写附加头文件所在目录&分号间隔多项
项目、属性、链接器、附加库目录:填写附加依赖库所在目录&分号间隔多项
项目、属性、链接器(点前面的+展开)、输入、附加依赖项:填写附加依赖库的名字.lib&空格间隔多项
我按照你的步骤添加了相关的地址&但是还是显示无法打卡源文件&以下是我的截图
麻烦帮忙看一下是不是添加的有问题&&谢谢啦&
目录或库文件名中包含汉字或空格的话,请将其用半角双引号括住。
项目、属性、C/C++、附加包含目录:填写附加头文件所在目录& 分号间隔多项
项目、属性、链接器、附加库目录:填写附加依赖库所在目录& 分号间隔多项
项目、属性、链接器(点前面的+展开)、输入、附加依赖项:填写附加依赖库的名字.lib& 空格间隔多项
目录或文件名最好不要包含汉字或空格。
程序员的常识之一:不要将程序源代码或项目或exe放在桌面这种复杂(多半带空格和汉字且在防火墙或杀毒软件严密控制的C盘上)的目录下。
目录或文件名最好不要包含汉字或空格。
程序员的常识之一:不要将程序源代码或项目或exe放在桌面这种复杂(多半带空格和汉字且在防火墙或杀毒软件严密控制的C盘上)的目录下。
不知道为什么还是无法打开源文件
目录或库文件名中包含汉字或空格的话,请将其用半角双引号括住。
E:\library\c++&primer&lib
&E:\library\c++&primer&lib&
目录或库文件名中包含汉字或空格的话,请将其用半角双引号括住。
E:\library\c++&primer&lib
&E:\library\c++&primer&lib&
十分感谢你的耐心解答,我加了半角符引号但还是无法找到源文件。
你把.lib和.h弄混了吧。
要还是不行试试将双引号中的每个\替换为\\再试试?
以后不要在目录或文件名中包含“空格、+、……”之类的怪字符了!
目录或库文件名中包含汉字或空格的话,请将其用半角双引号括住。
项目、属性、C/C++、附加 包含目录:填写附加头文件 (*.h)所在目录&分号间隔多项
项目、属性、链接器、附加 库目录:填写附加依赖库 (*.lib)所在目录&分号间隔多项
项目、属性、链接器(点前面的+展开)、输入、附加依赖项:填写附加依赖库的名字.lib&空格间隔多项
把外部头文件和lib文件分别放到vs的默认路径下的include和lib文件夹中,然后在程序中写#include&头文件名&,就可以使用了
把外部头文件和lib文件分别放到vs的默认路径下的include和lib文件夹中,然后在程序中写#include&头文件名&,就可以使用了
此法虽可行,但不可取。
是的,不可能将自己工作目录下的头文件和lib文件都拷到vc的安装目录下去。
刚也遇到这个问题,其实下面提示了是另一个包含在Sales_item.h里面的头文件Version_test.h没有被包含进去的原因。
把Version_test.h所在的路径添加到附加包含目录里面去就可以了。
书上都没说这些,感觉有一点小坑=&=

我要回帖

更多关于 vc 添加lib 的文章

 

随机推荐