关于引入libpng.lib的一些问题

今天想写一个Image类之后用opengl 2d刷出来。


在引入lib的时候总是出问题,现总结一下lib引入的一些问题:


以VC2008 express为例:

1.首先要在property->linker->input 里将additional dependencies的libpng.lib引入进去。

2.之后再property->c/c++->general里的additional include directories里面的头文件引入进去。这里有个小技巧,当点开这个界面的时候

 点macros会显示当前的一些环境变量。

将头文件引入进去。

3.之后再property->linker->advanced里面将Import Library添成$(TargetDir)$(TargetName).lib如图:



4.之后问题就来了,因为我参考的工程是这么写的我一直在想这个targetDir究竟是哪里,经过看macro才发现这个是debug目录,可是libpng.lib在debug目录里根本没有,我就在想为啥人家的项目会在build的时候将这这个lib文件拷过去呢?

经过围观才发现原来在property->build events-> pre-linker event->command Line里面会有一部拷贝的命令如图


拷贝命令为:

if not exist "$(OutDir)" mkdir "$(OutDir)"
xcopy /Y /Q "$(SolutionDir)Win32\lib\libraries\*.*" "$(OutDir)"


好了,加上这个,那个文件算是拷贝进去了,可以我又遇到了这个问题unresolved external symbol _inflateInit_ referenced in function _png_create_read_struct_2

后来搜索才得出,原来是我没有将libpng.lib文件加到工程里面,将其加入到工程以后,终于编译通过了。此时刚好也下班了,嘿嘿,回家吃肉去!


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值