Я пытаюсь скомпилировать простой пример python, встроенный в Clio 1.0.3 с MingGw. Источник main.cpp является:Ошибка Clion cmake python embedded
#include <iostream>
#include "Python.h"
using namespace std;
int main() {
Py_Initialize();
PyRun_SimpleString("print('Hello World from Embedded Python!!!')");
Py_Finalize();
return 0;
}
Мои CMakeList.txt файлов:
cmake_minimum_required(VERSION 3.2)
project(pruebapy)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
include_directories("C:\\SoftwareExtras\\Python27\\include")
set(CMAKE_LIBRARY_PATH "C:\\SoftwareExtras\\Python27\\libs")
set(SOURCE_FILES main.cpp)
add_executable(pruebapy ${SOURCE_FILES})
Но когда buils генерировать следующее сообщение об ошибке:
Linking CXX executable pruebapy.exe
CMakeFiles\pruebapy.dir/objects.a(main.cpp.obj): In function `main':
C:/pruebapy/main.cpp:10: undefined reference to `_imp__Py_Initialize'
C:/pruebapy/main.cpp:12: undefined reference to `_imp__PyRun_SimpleStringFlags'
C:/pruebapy/main.cpp:14: undefined reference to `_imp__Py_Finalize'
collect2.exe: error: ld returned 1 exit status
CMakeFiles\pruebapy.dir\build.make:87: recipe for target 'pruebapy.exe' failed
CMakeFiles\Makefile2:59: recipe for target 'CMakeFiles/pruebapy.dir/all' failed
makefile:74: recipe for target 'all' failed
mingw32-make.exe[2]: *** [pruebapy.exe] Error 1
mingw32-make.exe[1]: *** [CMakeFiles/pruebapy.dir/all] Error 2
mingw32-make.exe: *** [all] Error 2
Я попробовать различные конфигурации CMake, но ошибка сохраняется. Как я могу решить проблему ?.
Чем вы за вашу помощь.
Здравствуйте, я могу разрешить конфликт. Я обнаруживаю, что при установке gnu для windows существует две версии 3.4 и 4.9 gcc. Затем, когда компоновщик объектного файла, компоновщик принимает версию 3.4, но источники скомпилированы с 4.9. Я unisntall 3.4 и решить проблему. Спасибо. – Ezequiel