Я делаю файл общей библиотеки с именем python. Файл общей библиотеки состоит из файла cpp с использованием boost python. Поэтому я использую setup.py для вызова python следующим образом.
from distutils.core import setup, Extension
module_name = Extension('module_name',
include_dirs = ['in1', 'in2'],
libraries = ['lib1'],
library_dirs = ['libdir1'],
sources = ['src1.cpp', 'src2.cpp'])
setup(name = 'module_name',
ext_modules = [module_name])
Но этот setup.py встроен во многие системы (32 бита, 64 бита). Когда я ссылаюсь на файл сборки (.so файл), он может существовать в другом каталоге. Поскольку имя каталога связанного файла включает системный бит.
Я думаю, что если опция компиляции изменена, ее можно решить. Поэтому я попытался изменить опцию компиляции (-o). Наконец, я обнаружил добавление дополнительной опции компиляции.
extra_link_args=['-omodule_name']
Этот метод также решает проблему. Но он создает два выходных файла (один оригинал в системно-зависимом каталоге, другой - дополнительная опция). Это нежелательно.
Как удалить или исправить исходный параметр компиляции выходного файла?