我試圖運行名爲grover.c .c文件在這個C應用程序libquantumLibquantum代碼理解的Makefile
www.libquantum.de/files/libquantum-1.1.1.tar.gz現在
我這個應用程序已經包含了Makefile.in,我可以使用命令
./configure
make
make demos
生成一個名爲紹爾和格羅弗可執行但是當我嘗試運行grover.c使用gcc或部族這樣
鏗grover.c
它給了我很多未定義函數引用的錯誤。
在功能oracle': grover.c:(.text+0x50): undefined reference to
quantum_sigma_x ' grover.c :(文本+ 0x89上):未定義參照quantum_toffoli' grover.c:(.text+0xc8): undefined reference to
quantum_toffoli' grover.c :(文本+ 0xf2):未定義參照quantum_cnot' grover.c:(.text+0x137): undefined reference to
quantum_toffoli」 grover.c: (.text + 0x16b):未定義的引用quantum_toffoli' grover.c:(.text+0x1b0): undefined reference to
quantum_sigma_x'
我需要知道如何刪除此錯誤,如果我可以在此應用程序中運行此c代碼,稱爲grover.c。
感謝,
我想你誤解了編譯器的工作。要運行grover,只需輸入「grover」,就不需要調用clang。 – Beta 2014-10-06 01:11:16
但是當我需要編譯一個C代碼時,我會像clang hello.c或gcc hello.c那樣執行一些操作,並創建一個可執行文件。在這種情況下,我需要運行這個grover.c文件。實際上,我想在另一個軟件中運行這個文件來分析它的處理器使用情況。 – jav321 2014-10-06 01:20:57
如果你看看makefile,你可能會看到很多東西。如果你看看'clang grover.c',你可能會看到缺乏很多東西。這就是爲什麼它不適合你。你不能只從一個大型項目中去掉單個源文件,並希望能夠把它變成一個可執行文件。它在圖書館項目中的實際情況非常強烈地表明,它將使用該圖書館中的一些功能,這是你不需要的。 – 2014-10-06 01:56:54