问题:
今天写一个与数据库交互程序的时候,在vs里面,直接运行,能连接上数据库。
但直接双击生成的exe文件,无法连接上数据库。
找了半天原因,看了半天网上的文档,都没有找到解决办法。
原因及解决方法:
最终把连接数据库的各个参数打印出来,才发现了问题。原来是相对路径的问题。
数据库的配置是读取的ini文件。在程序里,我直接写的相对路径。也就是直接写的“xxx.ini”
在vs里面直接运行的话,这个路径是工程所在目录,也就是cpp所在目录,因此能读取到配置文件。
而exe执行的时候,这个相对路径变成了exe所在路径,需要把ini配置文件拷贝到exe所在文件夹里!!