Я пишу некоторые скрипты Python, которые собирают данные из приложения, написанного на C++, для построения и визуализации данных. Проекты приложений C++ поставляются в довольно большом файле решения Visual Studio 2012, а до сих пор скрипты Python были написаны отдельно в другом редакторе (например, Notepad ++).Visual Studio 2012 Boost.Python Integration
Кроме того, источник C++, который отправляет данные сценарию Python, скомпилирован с использованием команды Boost.Python bjam
. Это создает необходимые библиотеки C++/Python и создает модуль расширения .pyd
, содержащий требуемые объекты C++, которые я хочу импортировать в скрипт. Это делается с использованием файла Jamroot.jam
в каталоге сценария.
Я хотел бы интегрировать эти сценарии Python в свое решение на C++. Я уже создал проект Python в рамках решения, но я не знаю, как вызвать команду bjam
в файле C++.
Есть ли способ установить свойства проекта в Visual Studio для вызова команды bjam
и файла Jamroot.jam
?
Благодарим за быстрый ответ. Так что я просто набираю нужные команды в поле командной строки? Есть ли что-нибудь еще, о чем я должен знать? Я новичок в Visual Studio, поэтому эта помощь очень ценится. –
У меня возникло бы желание поместить все команды в пакетный файл или файл сценария и просто использовать это в поле командной строки - вам также нужно настроить либо выполнить до, либо выполнить после. Я думаю, что ваш скрипт должен вернуть 0 в случае успеха и a -ve при неудаче. –
ОК! При этом возникает сообщение об ошибке «фатальная ошибка LNK1561: точка входа должна быть определена». Я предполагаю, что он жалуется на отсутствие «основного» файла. Однако он не должен нуждаться в нем, так как файл C++ содержит только определение класса и функцию передачи модуля Boost.Python. Любая идея о том, что случилось, или что я могу сделать, чтобы исправить это? Я установил Execute Before для «Build», но я не уверен, что это правильно. –