码迷,mamicode.com
首页 > 其他好文 > 详细

编译生成64位Libjpeg库

时间:2019-06-18 09:16:08      阅读:298      评论:0      收藏:0      [点我收藏+]

标签:使用   enc   无法   gen   www   生成   无法解析   替换   bsp   

在使用OpenSenceGraph库时,用默认方法对库进行编译后,无法正常的读取jpeg格式的图片文件。通过研究发现,读取jpeg格式文件需要依赖第三方库libjpeg(http://gnuwin32.sourceforge.net/packages/jpeg.htm)。
 
从指向链接中下载好libjpeg库文件后,并在cmake程序中设置好JPEG_INCLUDE_DIR与JPEG_LIBRARY的路径后,打开工程文件,生成“Plugins jpeg”时,提示: error LNK2019: 无法解析的外部符号。 出现这个提示的原因是libjpeg库文件时32位的,而OpenSceneGraph库是64位。
 
 为了解决这个问题,需要使用nmake工具生成一个64位的libjpeg库文件,步骤如下所示:
  1. http://www.ijg.org/网站中,下载libjpeg源代码。
  2. 将源代码文件夹中的jconfig.vc文件的文件名修改为jconfig.h
  3. 将源代码中的所有的"jconfig.vc"字符串修改为"jconfig.h" (用visual studio 中的替换功能)
  4. 在Everthing中查找64位的nmake.exe的路径,将本路径添加到环境变量的Path的值
  5. 在源代码文件夹内启动cmd(在代码文件夹中,按住shift再点击鼠标右键,在弹出的菜单中选择"在此处打开命令行"),运行"nmake /f makefile.vc nodebug=1"命令。
  6. nmake在编译时可能会弹出一些提示,比如说找不到某个头文件或lib文件,如果遇到找不到头文件的提示,可以用Everthing查找这个文件的路径,在环境变量中添加一个"INCLUDE"变量,并将找到的路径添加到值中;如果遇到找不到lib文件的提示,同样可以用Everthing查找这个文件的路径,在环境变量中添加一个"Lib"变量,并将找到的路径添加到值中。
  7. 设置完环境变量后,要重启cmd
  8. 重复6 7步,应该可以编译成功。
  9. 编译完成后,在源代码文件夹中新建“Lib”和“include”文件夹,将编译生成的"libjpeg.lib"文件拷贝到lib文件夹中,将所有h文件拷贝到include文件夹中
  10. 完成了libjpeg的编译工作
晚上了libjpeg的编译工作后,再打开cmake,在JPEG_INCLUDE_DIR,JPEG_LIBRARY栏目下,添加对应的路径值,重新configure,Generate。最后打开OpenSceneGraph.sln工程文件,对Plugins jpeg重新生成,就可以生成osgdb_jpeg.dll等。OpenSceneGraph也可以正常的读取jpeg格式的文件

 

编译生成64位Libjpeg库

标签:使用   enc   无法   gen   www   生成   无法解析   替换   bsp   

原文地址:https://www.cnblogs.com/cuijy/p/11043347.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!