如何在make之后运行.o文件

时间:2014-03-07 13:35:21

标签: c++ c makefile

我一直在尝试从https://github.com/rinon/Simple-Homomorphic-Encryption

运行c ++程序

README中所述,我运行了以下命令,

make

make test

make demo

现在,我的目录中有以下文件,

zakirhussain@zakirhussain-K52F:~/Simple-Homomorphic-Encryption$ ls
circuit.cpp             demo_vote_counter.cpp  fully_homomorphic.cpp  main.o                 security_settings.h     test_suite.o  utilities.o
circuit.h               demo_vote_counter.h    fully_homomorphic.h    makefile               security_settings.o     type_defs.h
circuit.o               demo_vote_counter.o    fully_homomorphic.o    README                 test_fully_homomorphic  utilities.c
demo_fully_homomorphic  fully_homomorphic      main.cpp               security_settings.cpp  test_suite.cpp          utilities.h

有人可以帮助我运行demo_vote_counter.o文件吗?

6 个答案:

答案 0 :(得分:5)

您无法运行.o文件。这是一个目标文件,必须链接到最终的可执行文件中。 .o文件通常缺少额外的库,这些库在链接阶段添加。

看看你的outoput我会假设demo_fully_homomorphictest_fully_homomorphicfully_homomorphic中的一个是你可以运行的可执行文件。

答案 1 :(得分:4)

目标文件.o)不可执行。您希望运行./demo_fully_homomorphic(例如,没有扩展名的文件)。确保您具有执行权限(chmod a+x demo_fully_homomorphic)。

答案 2 :(得分:0)

您无法运行目标文件。它必须首先链接才能生成可执行文件。

我看到你的目录中有一个“demo_fully_homomorphic”“fully_homomorphic”和一个“test_fully_homomorphic”。这些是您的链接可执行文件,您可以使用./ [executable_name]

执行它们

答案 3 :(得分:0)

在这种情况下,可执行文件名为demo_fully_homomorphic,请尝试

./demo_fully_homomorphic

答案 4 :(得分:0)

正如其他几个答案中已经提到的,您可以执行二进制文件而不是目标文件。但是,以防万一,如果你想要的是以可读格式显示目标文件的内容?

$>objdump -d object_filename.o 

答案 5 :(得分:-1)

我认为我来晚了,但是我想下面的代码可能对某人有用。

使用cd进入您的文件夹,其中包含c / c ++文件,然后进行编译。

gcc my_test.c -o my_test

将生成符合要求的文件。然后仍然在同一文件夹中。运行命令。

./my_test