2017-12-15 4 views
0
에 매크로에서 따옴표를 사용하는 방법

나는이 코드 조각을 컴파일하기 위해 노력하고있어 내 개미 스크립트에서윈도우

std::string myString(...) 
if (myString == __MY_MACRO__) { ... } 

을, 내가 가진 :

그것은 리눅스에서 컴파일
<property unless:set="myprop" name="myprop" value="foo" /> 
... 
<compilerarg value='-D__MY_MACRO__="${myprop}"' /> 

하지만,

[cc] <command-line>:0:27: error: 'foo' was not declared in this scope 
[cc] XXX.cpp:X:Y: note: in expansion of macro '__MY_MACRO__' 
[cc]   if (myString == __MY_MACRO__) { 

나는 또한

에 시도되지 않은 : 나는 다음과 같은 오류가 Windows에서3210
<compilerarg value="-D__MY_MACRO__=&quot;${myprop}&quot;" /> 

하지만 같은 결과가있었습니다.

감사합니다.

<compilerarg value='-D__MY_MACRO__="\"${myprop}"\"' /> 
+1

때마다 거기에 다른 옵션 매크로를 사용하지 마십시오 –

+0

''와 같이 하드 코딩하면 작동합니까? –

+1

이 질문은 Java (Ant)가 쉘을 호출하는 방법 (cmd?)과 쉘이 따옴표로 수행하는 작업에 대해 자세히 설명합니다. 어쨌든 따옴표, 백 슬래시, 달러 기호 등을 포팅하는 것은 쉬운 방법이 아닙니다. – rustyx

답변