主要是想知道在写代码的时候,路径的设置问题。起因:
在http://blog.csdn.net/lixiaosan/archive/2006/04/29/697647.aspx看关于dll的一些知识点时,试着自己去实现第一个libCall,但是这个工程和之前生成libTest.dll的工程并不在一个工作空间中,我将libTest.dll拷入了libCall的Debug下面,但是程序中的这一句
//#pragma comment( lib, "..\\debug\\stalib.lib" ) //指定与静态库一起连接
出了问题。想起曾经用GetModuleFileName得到当前的路径其中是直接找到了可执行文件的路径阿。迷惑。
请大家不吝赐教!谢谢!

解决方案 »

  1.   

    #pragma comment( lib, "stalib.lib" )然后指定lib的寻找路径
    VC6:tools -- options -- diretories -- libraries filesVC8: 属性 -- 连接器 -- 常规 -- 附加库目录VC6还可以直接在工程下建一个lib文件夹,然后右击此文件夹,选Add files to folder,把lib文件加进来
      

  2.   

    因为\是VC保留字,所以在你写程序时要用到‘\’时就要用'\\'代替,而GetModuleFileName函数的结果是以‘\’显示是因为VC已经做了转换了,因为只有在程序内部才需要保留字
      

  3.   

    to htz92127:
    那也就是说\是不合法的?
    可是有时候也见到这种用法阿。
    to wlwlxj(wlwlxj) & ouyh12345(五岭散人)  & rabo(不哭死人):
    那\和/有什么区别呢?.表示当前路径,..表示当前路径的上一层,那这个当前路径到底指的是什么路径?指的是工作空间的路径么?#pragma comment( lib, "..\\debug\\stalib.lib" ) //指定与静态库一起连接
    那上面这句,里面相对路径到底是相对哪个的?
    迷糊!
      

  4.   

    to ouyh12345(五岭散人):
    那种路径设置,我做过,确实是可以。但是如果不采用这种做法,直接在程序中用相对路径来标示,该如何做?就像我在程序中的一样,将stalib.lib拷入Debug下面,而程序中无论是用#pragma comment( lib, "..\\debug\\stalib.lib" )还是#pragma comment( lib, ".\\debug\\stalib.lib" )都有问题,提示cannot open file ".\stalib.lib"
    如果当前路径认为是工作空间的路径,那么#pragma comment( lib, ".\\debug\\stalib.lib" )这种写法应该是对的啊,如果是debug,则第一种写法也该是对的啊?这是什么缘故?
      

  5.   

    ..\\表示与当前文件同一个文件夹。
    例:c:\aa下有一个文件bb.exe一个文件夹cc,cc中有一个文件叫dd
    那么 对于bb来说..\\就表示aa这个文件夹,
    ..\\cc\\dd则表示dd这个文件。
      

  6.   

    to mrdone():
    嗯,这个说的我懂了。但是为什么那个程序出了问题呢?
    我的工程libCall路径:D:\libCall
    stalib。lib路径:D:\libCall\Debug
    那么#pragma comment( lib, "..\\debug\\stalib.lib" )这种写法应该是对的吧?问题出在哪里?
      

  7.   

    假设你的当前路径是D:\libCall,那么..\代表它的上一级路径,也就是D:\,所以..\debug代表D:\debug。这样清楚了吗?
      

  8.   

    同意楼上的方法~~
    #pragma comment( lib, stalib.lib")
    然后再将该库文件加进来就可以了~~~
      

  9.   

    我现在就是不清楚这个当前路径到底指的是哪个?
    是debug?还是D:\libCall?
      

  10.   

    其实在这个程序中,我注释掉pragma这一句,然后将那个lib导入近来,运行是没有错的。我犯迷糊的是,vc中当前路径到底是怎么回事?
    而./和.\\到底有什么区别?
      

  11.   

    哦,这样说,我就清楚了。
    那么vc的当前路径到底是指dsw所在的路径还是指debug下面exe所在的路径呢?呵呵!
      

  12.   

    从IDE环境运行程序的时候,默认当前路径是工程项目所在路径,也就是dsp文件所在路径。