Cython编译包括他自己的目标

Cython compilation include his own target

我遇到了一个奇怪的错误。我使用 Cython 编译一些 c++ 文件。它在 OS X 下工作得很好,但在 Linux 下我有以下错误。

clang++ -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wl,-Bsymbolic-functions -Wl,-z,relro -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security build/temp.linux-x86_64-2.7/test.o build/temp.linux-x86_64-2.7/ocv.o build/temp.linux-x86_64-2.7/fructueux.o build/temp.linux-x86_64-2.7/Face_keypoint_extractor_minimal.o build/temp.linux-x86_64-2.7/tools/mimic.o build/temp.linux-x86_64-2.7/Unrestricted_local_binary_pattern_modified.o build/temp.linux-x86_64-2.7/Over_sampling.o -L -o /home/AM/Documents/code_dw/Python_deep_dev/Cython_interface/First_import/test.so -L/usr/local/lib -lopencv_calib3d -lopencv_contrib -lopencv_core -lopencv_features2d -lopencv_flann -lopencv_gpu -lopencv_highgui -lopencv_imgproc -lopencv_legacy -lopencv_ml -lopencv_nonfree -lopencv_objdetect -lopencv_ocl -lopencv_photo -lopencv_stitching -lopencv_superres -lopencv_ts -lopencv_video -lopencv_videostab -ltbb -lrt -lpthread -lm -ldl -lboost_system -lboost_filesystem ./libFD.a

 => -L -o /home/AM/Documents/code_dw/Python_deep_dev/Cython_interface/First_import/test.so

clang: error: no such file or directory: '/home/AM/Documents/code_dw/Python_deep_dev/Cython_interface/First_import/test.so'

-o 是完全正常的,但我不知道之前 -L 的效果,我想这就是它崩溃的原因。

有人知道为什么 distutils and/or clang 会产生这样的输出吗?

PS : 我从来没有在我的任何文件中写过字符串 "test.so"。

愚蠢但它总是发生

在 setup.py 中:

library_dirs=[""]

在编译命令中创建-L,-L忽略-o并获取下一个路径。