flu*_*mpb 6 gcc makefile asmjit
我正在尝试在项目中使用AsmJit.这是我使用的makefile:
CC = g++
CFLAGS = -D ASMJIT_API -I dep/
test: src/main.cpp
$(CC) $(CFLAGS) src/main.cpp -o test.exe
Run Code Online (Sandbox Code Playgroud)
尝试这个时我遇到了编译器错误,所以我#define ASMJIT_API从dep/AsmJit/Config.h 取消注释了这行,并从makefile中删除了-D开关,干净地编译了所有内容.我正在使用gcc 4.5.3.有任何想法吗?
谢谢.
编辑:编译器错误
g++ -DASMJIT_API -Idep/ src/main.cpp -o test.exe
In file included from dep/AsmJit/Assembler.h:31:0,
from src/main.cpp:1:
dep/AsmJit/Build.h:274:1: error: expected unqualified-id before numeric constant
In file included from dep/AsmJit/AssemblerX86X64.h:36:0,
from dep/AsmJit/Assembler.h:51,
from src/main.cpp:1:
dep/AsmJit/Defs.h:408:1: error: expected unqualified-id before numeric constant
In file included from dep/AsmJit/DefsX86X64.h:36:0,
from dep/AsmJit/Defs.h:423,
from dep/AsmJit/AssemblerX86X64.h:36,
from dep/AsmJit/Assembler.h:51,
from src/main.cpp:1:
dep/AsmJit/Util.h:412:8: error: expected identifier before numeric constant
dep/AsmJit/Util.h:412:8: error: expected unqualified-id before numeric constant
src/main.cpp:6:1: error: expected ‘}’ at end of input
makefile:5: recipe for target `test' failed
make: *** [test] Error 1
Run Code Online (Sandbox Code Playgroud)
#define ASMJIT_API和之间有区别-DASMJIT_API.
该#define语句定义ASMJIT_API如无物,而该-D标志定义预处理器常数1.
使用该-D标志,build.h的第274行扩展为
1 void assertionFailure(const char* file, int line, const char* exp);
Run Code Online (Sandbox Code Playgroud)
导致编译器错误.