在包含 MyLib1.lib时,发现必须打两个反斜杠方能实现路径,
而 #include 头文件时只需 1个反斜杠。
//WinXP + VS2005
哪位给解释一下。
#include "..\MyHeadFilePath\MyHeadFile1.h"
#pragma comment(lib,"..\\MyLibPath\\MyLib1.lib")

解决方案 »

  1.   

    人家的问题是:
    为啥pragma   comment需要两个\
    而include 只需要一个\
      

  2.   

    include   只需要一个\
    include   两个也行
      

  3.   

    编译器处理include比较特殊,你可以用一个反斜杠,也可以用正斜杠,都被识别,不会出现转义的问题
      

  4.   

    因为#include语句属于编译器预处理语句,不是程序中字符串,所以没有转义符的问题
      

  5.   

    #include处理的时候会把\转化成\\
      

  6.   

    #define FILENAME "main.h"
    #include FILENAME
    出错!

    #define FILENAME "main.lib"
    #pragma comment(lib,FILENAME)
    正确!
    似乎编译器并不认为前者是字符串,但却认同后者属于字符串范畴,可能这才是\\和\待遇不同的主要原因。
      

  7.   

    编译器处理include比较特殊,你可以用一个反斜杠,也可以用正斜杠,都被识别,不会出现转义的问题