linux第三方库不区分debug和release版本么?

opencv编译,debug和release版本生成的库名一样,安装的时候会相互覆盖。不像windows debug版本带有后缀d。

或者说是否linux下的debug和release版本的库之间只是调试信息和是否优化的区别,因此何以混用。

而windwos下还有其他的区别,导致无法让release模式生成的程序调用debug版本的库。

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
编译第三方库debug和release不同文件形式的编译
在CMakeLists文件加入SET( CMAKE_DEBUG_POSTFIX "-gd" CACHE STRING "add a postfix, usually d on windows" )语句,生成的debug版本的lib和dll文件文件结尾都是-gd。方便第三方在不同编译环境下的使用
linux 下编译,区分程序、库是debug还是release版本。同时以编译freetype为例
在linux里面怎么区分debug和realease版本 1、使用 readelf -S filename //filename这里指的是你想要查看的程序,或者库 如果是debug版本的话,你会看到很多debug相关的信息。 如果是release版本的话,按理说是看不到debug信息的。//但是我使用交叉编译链编译程序后,会看见 .debug_frame ...
makefile 中区分debug版本和release版本编译的简单方法
假设有一份makefile, 我的目的只是需要在debug版中加入 -g 的编译选项,那么可以这么做:原makefile$(CC) = g++ -g3 -gdwarf2 $(cc) = gcc -g3 -gdwarf2 all: executable executable: CommandParser.tab.o CommandParser.yy.o Command.o g++ -g ...
关于release和debug版本不能混用的教训
之前改老师写好的MFC的一个图像类的lib库,重新生成之后,调用lib的项目一直报错。错误如下: 大致就是检测到lib文件里各种.obj不匹配。 找了蛮久问题,后来发现是版本不兼容的问题。 vs中的工程有debug和release两个版本,我的lib库项目用debug版本编译,调用的项目是用release版本编译的。 需要强调一下: 静态链接库的生成与使用需要用相同版本。 为什...
如何判断是linux/windows库,module或程序debug还是release
linux: readelf -S xxx.a |grep "\.debug*"   如果有输出, 是debug, 没有是release     windows: dumpbin /DEPENDENTS xx.dll, 结果输出中有MSVCRTD.dll的是debug版本. 为了脚本自动判断, 可用powergrep等工具自动分拣. .lib和我们的编译选项有关, 通过dum
linux下debug与release编译的方法
【原文:http://blog.csdn.net/lzyzuixin/article/details/7800267】 如果是DEBUG,则加参数-Ddebug,release'版本则不加该参数。 一般,在开发测试阶段用debug版本,而上线发布用release版本。 使用Makefile定制编译不同版本,避免修改程序和Makefile文件,将会十分方便。 读了一些资料
cmake编译Debug和Release版本的注意点
在CMakeLists.txt中首先可以定义编译的模式到底是Debug版本还是Release版本,在Terminal中直接编译,也可以进行参数定义,不进行特殊定义应该都是Release版本。但是LZ刚开始使用的是Kdevelop这个IDE,然后就刷刷刷next,直接编译了g2o,结果在工程中应用的时候发现找不到模块,后来发现target_link_libraries找不到对应的库。/usr/bin/
QT中怎么自动识别release和Debug版本
使用QT_NO_DEBUG宏即可。#ifdef QT_NO_DEBUG #define Debug(str) #else #define Debug(str) (qDebug() << str) #endif这样定义之后就可以在debug模式下输出,而在release模式下变成空语句。如下使用qDebug(); Debug("checked");
如何判断dll是debug还是release
// Get assebly by name Assembly ass = Assembly.LoadFile(assemblyName); // Get DebuggableAttribute info DebuggableAttribute att = ass.GetCustomAttribute(); ret = att.IsJITTr...
C\C++如何在代码中区分Debug或者Release模式
在Release模式下会自动定义一个宏NDEBUG,Debug模式下没有,因此可以在在代码中判断宏NDEBUG是否存在来判断是Release模式还是Debug模式。示例代码如下 #ifndef NDEBUG std::cout &lt;&lt; "Hello, World! Debug Mode" &lt;&lt; std::endl; #else std::cout &lt...
如何使用Cmake生成debug版本和release版本的程序
在Visual Studio中我们可以生成debug版本和release版本的程序,使用Cmake我们也可以达到同样的效果。debug版本的项目生成的可执行文件需要有调试信息并且不需要进行优化,而release版本的不需要调试信息但是需要优化。这些特性在gcc/g++中通过编译时的参数来决定的,如果将优化程度调到最高需要设置 -O3 ,最低的是 -O0 即不做优化,添加调试信息的参数是 -g  -
cmakelist中区分debug和release下对应的库版本
add_library(${LIBRARY_NAME} ${SOURCES} ${HEADERS})//生成一个对应的Debug库,用来与Release版本的库区分set_target_properties(${LIBRARY_NAME} PROPERTIES OUTPUT_NAME &quot;${LIBRARY_NAME}$&amp;lt;$&amp;lt;CONFIG:Debug&amp;gt;:_d&amp;gt;&quot; ) 这样,...
QT环境下,pro文件配置release版本 和Debug版本
1.在QT creator中,点击项目标签,查看构建配置中,是否有release,没有添加一个。 2.在工程的.pro文件中添加 : CONFIG += debug_and_release 3.根据debug或者release添加不同的库。 CONFIG(debug, debug|release) {        LIBS += 相关debug库 }else{      LIBS+=...
如何判断是linux/windows库,module或程序debug还是release(转)
linux: readelf -S xxx.a |grep &quot;\.debug*&quot; 如果有输出, 是debug, 没有是release      windows: dumpbin /DEPENDENTS xx.dll, 结果输出中有MSVCRTD.dll的是debug版本. 为了脚本自动判断, 可用powergrep等工具自动分拣. .lib和我们的编译选项有关, 通过dumpbin /HEADER...
java的debug和release编译方式
java编译成.class 有两种方式 使用javac,默认使用的release方式。 release模式下对于函数参数会改变 public class Test{ private static void sayHello(){ System.out.println("Hello world"); } public
在一个makefile中输出一个程序的debug版本和release版本
在一个makefile中输出一个程序的debug版本和release版本 场景: 开发人员(rd)和测试人员(qa)是不同的人,可执行程序是通过配置管理平台提供的。同时,所有程序要上线运行,要通过qa的测试,然后将测试通过的程序,在配置管理平台上输出后上线。(从百度的流程中提取出来的,其他公司的流程未知) 需求: debug版本的会有一些额外的处理,以及能够打印更多的log
gcc编译debug和release版本软件
debug版本的软件目的是为了调试软件;release版本是用来发布的。很明显debug的版本的软件必然包含很多信息:代码中的函数名,源代码的文件名和行数,编译出来的目标文件的偏移量。使用addr2line 和文件位置偏移量,就可以得到对应的函数名和源文件以及行数。release版本的软件这些信息就没有必要了。gcc给工程师提供了编译参数来控制这些。添加-g参数可以使得编译的程序包含更多调试信息,...
Android如何区分debug和release两种状态
Android开发中识别debug还是release状态还是很有用的,比方说打印日志,有些日志开发的时候需要,可是线上正式包不需要,这个时候如果知道了debug状态就可以很方便的隐藏非必要日志而又不影响开发,还有很多其他的作用。 一般,大家会用BuildConfig.DEBUG来获取应用的状态,debug包返回true, release返回false;但是在主Moudle里面是好使的,在Libr
Debug和Release模式下加载不同的库文件
打个比方,程序中 //Debug模式下,我要加载lib_d.dll文件 #pragma comment(lib,"lib_d.lib") //Release模式下,我要加载lib.dll文件 #pragma comment(lib,"lib.lib") 如果是debug模式下,我要把Release注释掉,反之,我要把Debug注释掉...(麻烦得一笔) 解决方法: 一.代码处理方式
让你的iOS应用在不同状态(debug, release)有不同的图标和标题
应用在发布到 App Store 之前, 大家都会把应用通过 Ad Hoc 形式发给内部人员进行小范围的测试, 我们把应用的这个状态称为 Staging. 这些人员大多都没有参与过应用, 目的是用来模拟真实用户的操作行为和流程, 以此来找到一些更不容易发现的 Bug. 前段时间我们在准备发布 NextDay 4.0 的时候, 也是这样. 但问题也随之而来了. 大家的 iPhone 上都装有 App
Cmake 实现debug和release lib依赖项处理
一、说明   我们最近用cmake开发东西,编译vs时候,发现debug和release版本的lib库的依赖项问题,故此小结一下。若有不对之处,还请看官多多指教。   我们的使用的工程有自己编写的工程,也有借用第三方库的工程,还有没有办法找到源码的,只有dll和lib库,没有区分debug和release 版本的。   所以还是分开说,一种自己工程库,一种是第三方库。在写完cmake代码
gradle 区分debug和realse自动化打包
项目也写完了,混淆也做好了,然后就打包呗,打包区分debug版本和realse版本,只需要在gradle中设置下就可。 //开发用 yyyy-MM-dd 打包提测 yyyy-MM-dd_HH-mm-ss 因为精确到秒 android studio 就不能自动安装apk def timeForDebugFileFormater = "yyyy-MM-dd" def timeFor
Linux下查看.so和可执行文件是否debug编译
今天同事问我, 如何判断一个.so是否是debug编译的. 我记得以前自己是用file来查看一个.so, 根据是否包含"not stripped"来判断该.so是否是debug编译的, 于是就没做实验就回答. 然而, stripped/not stripped并不是debug/release编译的判断标准. 我对debug和release的.so运行file后, 得出几乎相同的输出,
Qt debug模式和release模式的区别
这几天因为一个bug纠结了很久,始终找不到问题所在。今天终于揪出“凶手”了,特此记录“缉凶”过程,当找到这个bug的原因,连我都不敢相信这是个低级错误造成的问题。 一、现象 1、编写的myapp.exe程序,无论是在debug模式还是在release模式下编译都正常。在debug模式下运行正常,但在release模式下运行,UI启动后Windows就弹出程序错误的警告,之后程序挂掉。 2、即
Qt中如何检测程序是Debug版还是Release版
http://qiusuoge.com/11410.html 方法是检查QT_NO_DEBUG 这个宏。 示例代码: #ifdef QT_NO_DEBUG qDebug() << "release mode"; #else qDebug() << "debug mode"; #endif
断言assert在debug版本与release版本中的区别
断言断言是用来判断一些一定不会出现的情况下使用的。 你真的会使用断言吗?debug版本与release的不同点:debug版本中含有调试信息,不会对程序进行优化,assert相应的宏会被执行。 release版本中不含有调试信息,会对程序进行优化,assert相应的宏不会被执行。 debug版本与release版本的区别
C++ 程序DEBUG和RELEASE版本的区别
Relase版本对程序作了各种优化的,使得程序在大小和速度上达到最优。Debug版本,包含程序的调试信息,方便程序员做调试。Relase版本是不利于程序的调试。
【iOS开发-115】静态库的制作以及第三方框架iOS Universal Framework,DEBUG和RELEASE
静态库的样子就是用户拿到的文件有很多头文件.h+资源包+编译过的一个二进制文件.a(.framework)。即没有公开的那些文件都被编译进了.a或.framework里面。如果是为了保护知识产权什么的可以用静态库。
VC中debug和release版本的区别
vc中debug和release的不同 收藏  在使用VC开发软件的过程中,正当要享受那种兴奋的时候突然发现:release与debug运行结果不一致,甚至出错,而release又不方便调试,真的是当头一棒啊,可是疼归疼,问题总要解决,下面将讲述一下我的几点经验,看看是不是其中之一: 1. 变量。 大家都知道,debug跟release在初始化变量时所做的操作是不同的,debug是将
【Gradle】管理库工程release及debug
背景:目前工程中是通过手动在代码中修改debug及release变量,这十分低效并且极易遗忘而造成低级错误。需求是什么?1.genkins上打aar包时候,直接根据genkins参数设置来决定打debug还是release包 2.本地工程依赖,需要能区分依赖debug还是release版本库工程打包所遇到问题: Library projects only publish their relea
qmake编译选项的控制(debug|release)
在 Qt 编程中,多数人用的都是 qmake,并编写相应pro文件。 实际中经常需要对 debug 与 release 两种编译模式 设置不同的选项,比方说链接不同库 遇到该问题,简单看看qmake的manual,不少人都会写出类似下面的内容:   debug { LIBS += -L../lib1 -lhellod } release { LIBS += -L../lib2
如何检查,可执行程序,是debug模式?还是release模式?
Generally no. There hasn't a reliable way to do this with a native DLL file. Even you would be able to check what versions of system libraries a program is linked with and it's the debug version, c...
C++ debug和release版本的区别及调试技巧
一、Debug 和 Release 编译方式的本质区别     Debug 通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序。Release 称为发布版本,它往往是进行了各种优化,使得程序在代码大小和运行速度上都是最优的,以便用户很好地使用。     Debug 和 Release 的真正秘密,在于一组编译选项。下面列出了分别针对二者的选项(当然除此之外还有其他一些,
VS编译静态库 .lib 其中Release 版本比Debug版本要大好多原因
如果工程代码使用了:   把此选项关闭即可减少库大小不少:
QT应用程序中debug和release包含不同的库
在projectName.pro中添加类似如下代码。 CONFIG += debug_and_release CONFIG(debug,debug|release) { unix|win32: LIBS += -lQtCored unix|win32: LIBS += -lQtGuid unix|win32: LIBS += -lQtNetworkd } else {
.a静态库的制作 Debug版和Release版
Debug 版 1、创建工程 2、分别用 Device 和 simulator 生成 .a 文件    之后将 Products 下的 .a    Show in Finder 3、合并文件夹 -iphoneos 和 -iphonesimulator 下的 .a 文件             利用终端 ,命令:lipo  -create  pathFirst/sta
Release和Debug模式的区别以及Opencv在Release和Debug不同模式下的配置
1、Release和Debug的区别   Release版称为发行版,Debug版称为调试版。   Debug中可以单步执行、跟踪等功能,但生成的可执行文件比较大,代码运行速度较慢。Release版运行速度较快,可执行文件较小,但在其编译条件下无法执行调试功能。   Release的exe文件链接的是标准的MFC DLL(Use MFC in a shared or static dll)。
重写Android Log的输出,只在debug的时候输出,release 的版本不输出
package com.example.kodulf.utilsdemo.utils; import com.example.kodulf.utilsdemo.BuildConfig; /** * Created by Kodulf on 2017/5/13. */ public class Log { public static void v(String tag,Strin
“Debug正常,Release崩溃”的可能原因
1.内存分配问题 2.ASSERT和VERIFY 3.参数问题 4.DLL的灾难 5.RELEASE板中的调试 6.编译器的优化可能导致许多意想不到的错误
Android 同时安装debug release版, 并且显示不同名字
同一部手机上安装app的debug版和release版, 不会相互覆盖. build.gradlebuildTypes { release { applicationIdSuffix ".release" resValue "string", "app_name", "@string/app_name_release"
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 大数据培训有用么 培训机构区分web

相似问题

0
linux第三方库不区分debug和release版本么?
3
为什么c++类的成员函数getxxx获得的数不能用操作符进行运算
1
Linux有专门的同Windows API那样可以查看本地安全策略配置情况这些东西的函数吗?
0
NetBeans调试不进入断点
1
MFC设置进度条时出现debug assertion faild错误,小白求指教!!
2
h264 slice可以单独不依赖其他slice解码么?P_slice怎么回事?
2
C++模板错误:不定义该运算符或到预定义运算符可接收的类型的转换
2
VS2017+Qt5+OSG编译好的程序,在debug和release文件夹下打开*.exe时提示无法定位程序输入点于*.exe
0
vscode debug C++ 时无法打开控制台(或者说运行不了 gdb.exe)?
1
c#调用c++相机标定程序报错debug error abort()has been called,exe可单独运行
3
zlib.h明明已经安装了最新版本了,为什么还是报错
0
安装任意版本的matlab都会出现vc++2005配置错误不成功
1
VC++6.0在CXXXView的构造函数中用了GetDC(),不报错,但运行之后提示错误
1
这段代码是用来测试自定义esin函数与库函数sin求正弦的区别,编译器也不报错,为什么就是没有输出呢?
1
如何改写qWebEngineViewr让其在打开网页时不加载图片
0
vmware安装fedora是显示这个页面就一直不动了 ,是什么原因? 附图。
0
no kernel image is available for execution on the device,计算能力不匹配的问题?
1
为什么有时候cin.getline() 不能用而cin.get()可以用啊
0
cmroute.dll 批量添加路由表 指定跃点 不生效?
2
新手提问:portaudio实在装不来啊,(为了要装PYaudio)