के साथ एक लिपटे सीपीपी फ़ाइल से एक डीएलएल बनाना, मैं विंडोज़ पर एसडब्ल्यूआईजी का उपयोग करने के तरीके सीखने की प्रक्रिया में हूं।SWIG
/* File : example.h */
class Shape {
public:
Shape() {
nshapes++;
}
virtual ~Shape() {
nshapes--;
};
double x, y;
void move(double dx, double dy);
virtual double area(void) = 0;
virtual double perimeter(void) = 0;
static int nshapes;
};
class Circle : public Shape {
private:
double radius;
public:
Circle(double r) : radius(r) { };
virtual double area(void);
virtual double perimeter(void);
};
class Square : public Shape {
private:
double width;
public:
Square(double w) : width(w) { };
virtual double area(void);
virtual double perimeter(void);
};
यह मेरा इंटरफ़ेस फ़ाइल है::
/* File : example.cxx */
#include "example.h"
#define M_PI 3.14159265358979323846
/* Move the shape to a new location */
void Shape::move(double dx, double dy) {
x += dx;
y += dy;
}
int Shape::nshapes = 0;
double Circle::area(void) {
return M_PI*radius*radius;
}
double Circle::perimeter(void) {
return 2*M_PI*radius;
}
double Square::area(void) {
return width*width;
}
double Square::perimeter(void) {
return 4*width;
}
यह मेरा हेडर फ़ाइल है:
निम्नलिखित मेरी C++ कोड है
/* File : example.i */
%module example
%{
#include "example.h"
%}
%include "example.h"
मैं लपेट में कामयाब रहे मेरी SWIG का उपयोग कर सिगविन में निम्न आदेश के साथ C++ कोड:
$swig -c++ -python -o example_wrap.cpp example.i
मेरा सवाल है, मैं जेनरेट कोड (example_wrap.cpp) का उपयोग करके इस बिंदु से आगे एक डीएलएल कैसे बना सकता हूं? कोई विचार?
मैं दृश्य स्टूडियो सी ++ 2010 एक DLL बनाने की कोशिश की, लेकिन मैं निर्माण त्रुटि मिलती है: बड़ा घूँट इसलिए किसी भी मदद बहुत सराहना की जाएगी उपयोग करने के लिए
LINK : fatal error LNK1104: cannot open file 'python27_d.lib
मैं काफी नया हूँ।
धन्यवाद!
अपने शीघ्र उत्तर के लिए जैक्सन धन्यवाद! :) मैंने पाइथन फाइलों की जांच की और ऐसा प्रतीत होता है कि, जैसा कि आपने कहा था, एक python27.lib है लेकिन एक python27_d.lib नहीं है। तो मुझे लगता है कि अगला प्रश्न होगा ... क्या किसी को विजुअल स्टूडियो सी ++ 2010 को पायथन लिब के रिलीज़ संस्करण को स्वीकार करने का तरीका पता है ??? – user1449530
यदि आप प्रोजेक्ट के गुण खोलते हैं और लिंकर-> इनपुट पर जाते हैं तो आपको अतिरिक्त निर्भरता में Python27_d.lib का संदर्भ देखना चाहिए। इसे Python27.lib के रूप में संपादित करें और पुनः संकलन करने का प्रयास करें। – Jackson
आपके समय के लिए जैक्सन फिर से धन्यवाद! मैंने विजुअल स्टूडियो 2010 लिंकर> इनपुट में वापस देखा लेकिन मुझे Python27_d.lib नहीं मिला। अंत में, मैंने साइगविन के साथ चिपकने का फैसला किया। वैसे भी धन्यवाद! – user1449530