我有一个hello world的cpp文件。如果我使用编译它,就会得到一个可执行的"test"文件(<-rwxr-xr-x>),如果我执行它,它会执行并生成一个期望的结果。
然而,如果我使用<${CXX} -std=c++0x -I${INCLUDE_DIR1} -c test.cpp -o test -L{LIB_DIR1} -llib_name>,我也会得到一个"test"文件,但是在这种情况下它不能被执行。所以,我无法执行它。我试过,它获得了执行权限,但如果我尝试执行它,会出现一个错误消息(无法执行)。
我做错了什么,如何纠正呢?
然而,如果我使用<${CXX} -std=c++0x -I${INCLUDE_DIR1} -c test.cpp -o test -L{LIB_DIR1} -llib_name>,我也会得到一个"test"文件,但是在这种情况下它不能被执行。所以,我无法执行它。我试过,它获得了执行权限,但如果我尝试执行它,会出现一个错误消息(无法执行)。
我做错了什么,如何纠正呢?
file test
文件的类型 - 很可能只是一个命名错误的.o文件。 - undefinedfile test
,我得到的结果是test: ELF 64-bit LSB relocatable, x86-64, version 1 (GNU/Linux), not stripped
,但我不知道它的意思。这个输出是否意味着我有一个"命名错误的.o文件"? - undefined