Я хочу использовать некоторый код Python в своей среде C++ для построения статистики. Я уже нашел следующую публикацию (о том, как встроить python в С++), но следование инструкциям не привело к успеху: Встроить код Python в C++ (Windows + minGW + Python 2.7.2 + Eclipse)
#include "Python.h"
int main(int f_argc, const char* f_argv [])
{
Py_Initialize();
const char* pythonScript = "print 'Hello, world!'\n";
int result = PyRun_SimpleString(pythonScript);
Py_Finalize();
return 0;
}
Извините, но у меня нет большого опыта в создании файлов или подключении статических или динамических библиотек....
У меня есть следующая система: Windows 7 + 64 Bit + Eclipse IDE для разработчиков C/C++, версия: Juno Service Release 1 + mingw + python32
под путем и символами: + добавлен каталог включения python32 + добавлена библиотека "python32", которая должна соответствовать libpython32.a + добавлен путь к библиотеке
Компиляция и компоновка, кажется, работают, но когда я пытаюсь запустить exe, я получаю следующее сообщение:
«Не удается запустить программу, поскольку на вашем компьютере отсутствует python32.dll. Попробуйте переустановить программу, чтобы решить эту проблему».
Я не могу понять это сообщение, потому что пытаюсь добавить статическую библиотеку (libpython32.a) в исходный код. Не могли бы вы слегка подтолкнуть меня в правильном направлении?
Большое спасибо за Вашу помощь!
РЕДАКТИРОВАТЬ: добавлен makefile и objects.mk
MAKEFILE ################################################## ################################ # Автоматически сгенерированный файл. Не редактировать! ################################################### ###############################
-include ../makefile.init
RM := rm -rf
# All of the sources participating in the build are defined here
-include sources.mk
-include src/subdir.mk
-include subdir.mk
-include objects.mk
ifneq ($(MAKECMDGOALS),clean)
ifneq ($(strip $(C++_DEPS)),)
-include $(C++_DEPS)
endif
ifneq ($(strip $(C_DEPS)),)
-include $(C_DEPS)
endif
ifneq ($(strip $(CC_DEPS)),)
-include $(CC_DEPS)
endif
ifneq ($(strip $(CPP_DEPS)),)
-include $(CPP_DEPS)
endif
ifneq ($(strip $(CXX_DEPS)),)
-include $(CXX_DEPS)
endif
ifneq ($(strip $(C_UPPER_DEPS)),)
-include $(C_UPPER_DEPS)
endif
endif
-include ../makefile.defs
# Add inputs and outputs from these tool invocations to the build variables
# All Target
all: Sandbox.exe
# Tool invocations
Sandbox.exe: $(OBJS) $(USER_OBJS)
@echo 'Building target: $@'
@echo 'Invoking: Cross G++ Linker'
g++ -L"C:\Python32\libs" -o "Sandbox.exe" $(OBJS) $(USER_OBJS) $(LIBS)
@echo 'Finished building target: $@'
@echo ' '
# Other Targets
clean:
-$(RM) $(C++_DEPS)$(OBJS)$(C_DEPS)$(CC_DEPS)$(CPP_DEPS)$(EXECUTABLES)$(CXX_DEPS)$(C_UPPER_DEPS) Sandbox.exe
-@echo ' '
.PHONY: all clean dependents
.SECONDARY:
-include ../makefile.targets
ОБЪЕКТЫ.МК
################################################################################
# Automatically-generated file. Do not edit!
################################################################################
USER_OBJS :=
LIBS := -lgdi32 -ljpeg-8 -ltiff-5 -lpython32