Distutils on windows with mingw, messed up includes?
Hi, I am trying to wrap some c++ library using distutils and swig. So I started with some simple example files and got a faculty function wrapped and runing in ipython. When doing the same with this one: here is the .cpp: #include "jcnError.h" jcnError::jcnError(const string& message, const ErrorType& errorType) : std::runtime_error(message), mErrorMessage(message), mErrorType(errorType) { } const char* jcnError::what(void) const throw() { return std::runtime_error::what(); } jcnError::~jcnError(void) throw() { } here is the header: #pragma once #include <iostream> #include <string> #include <stdexcept> using namespace std; #define jcn_DEBUG /**< If this is defined more error messages will be thrown */ /** * Internal type of error */ enum ErrorType { WARNING, EXCEPTION, }; /** * @class jcnError * @author Jan C. Neddermeyer * @brief jcnError is inherited from the std error class runtime_error */ class jcnError : public runtime_error { public: /** * Constructor * @param message error message, should provide detailed information where and why an error has been thrown * @param errorType optional error type */ jcnError(const string& message, const ErrorType& errorType = EXCEPTION); /** * @return error message, corresponds to the what() method in runtime_error */ virtual const char* what(void) const throw(); /** * @return error message as std::string */ inline const string GetMessage(void) const {return mErrorMessage;}; /** * @return error type */ inline const ErrorType GetErrorType(void) const {return mErrorType;}; /** * Destructor */ ~jcnError(void) throw(); private: string mErrorMessage; /**< error message */ ErrorType mErrorType; /**< error type */ }; here the bpe.i: %module bpetest %{ #include "jcnError.h" %} and finally the setup.py: import distutils from distutils.core import setup, Extension module=Extension('_bpetest',sources=['bpe.i','jcnError.cpp'],include_dirs=['C:/users/kevin/Desktop/bpe_demo/src']) setup(name="bpetest", version="3.2", ext_modules=[module]) I get an error "iostream: No such file or directory". What's the problem? Does distutils get confused by all the virtuals? The error is raised on the very first include line of the headerfile "#include <iostream>" . Thanks, Kevin
participants (1)
-
Kevin Kunzmann