目录
3.1 将动态库绝对路径添加至环境变量LD_LIBRARY_PATH
1 为什么会遇到这个问题
程序在运行时发生错误大概可分为三类:
编写程序时,常常会遇到各种类型的错误,它们可以分为编译时错误、链接时错误和运行时错误三类。首先,编译时错误,也称为语法错误,出现在将源代码转换为可执行程序的过程中。这类错误通常源于语法、拼写、分号遗漏或括号不匹配等问题。例如,在C++中可能会出现分号漏写或括号未闭合的情况,导致编译器无法将代码转化为可执行文件。解决这类错误的关键在于仔细检查代码,定位并修复所有的语法问题,而编译器通常提供了详细的错误信息以协助定位问题。
其次,链接时错误则出现在编译完成后,将多个源文件或库文件合并为一个可执行文件的过程中。这类错误通常源于找不到函数的定义或者存在多次定义等情况。例如,一个源文件中调用了另一个源文件中的函数,但编译器无法找到该函数的定义,从而引发链接时错误。要解决链接时错误,必须确保所有所需的函数都有相应的定义,或者正确链接了所有的库文件。
最后,运行时错误发生在程序已经开始执行后,通常由于程序试图执行无效操作,如除以零或访问不存在的内存,引发此类错误。举例来说,若程序中存在一个数组,试图访问超出数组边界的元素,将导致一个运行时错误。要解决运行时错误,需要通过调试工具逐步执行代码,以找出错误发生的位置,然后进行修复。总体来看,编译时错误在编译阶段就会显