استفاده از کلاسهای ++c در #C
سلام
چطوری میشه از کلاسی که در یک Dll سی پلاس پلاس نوشتم و در سی شارپ import کردم، شی درست کنم و پس از انجام محاسبات شی رو به سی شارپ بدم و اطلاعات رو استفاده کنم؟
ممنون
نقل قول: استفاده از کلاسهای ++c در #C
نقل قول: استفاده از کلاسهای ++c در #C
روشهای دیگه ای نیست؟
نمیشه از خود کتابخانه های دات نت استفاده کرد؟
نقل قول: استفاده از کلاسهای ++c در #C
نقل قول:
نوشته شده توسط
هم دانشگاهی
روشهای دیگه ای نیست؟
نمیشه از خود کتابخانه های دات نت استفاده کرد؟
واقعا سرچ کردی؟
عزیزم اول جست و جو کن.ببین موضوع چیه.چطوری کار میکنه.بعد بگو "نمیشه از خود کتابخانه های دات نت استفاده کرد؟"
نقل قول: استفاده از کلاسهای ++c در #C
سلام
من تونستم فایلهای cxx رو بسازم ولی وقتی پروژه سی شارپ رو ران میکنم، لینکر اررور میده
کدها به صورت زیره:
clss_file.h
class cpp_file
{
public:
cpp_file(void);
~cpp_file(void);
int times2(int arg);
};
class_file.cpp
#include "cpp_file.h"
cpp_file::cpp_file(void)
{
}
cpp_file::~cpp_file(void)
{
}
int cpp_file::times2(int arg)
{
return arg * 2;
}
cpp_file.i
/* cpp_file.i */
%module cpp_file
%{
/* Put header files here or function declarations like below */
extern int times2(int arg);
%}
extern int times2(int arg);
cpp_file.cs
using System;
using System.Runtime.InteropServices;
public class cpp_file {
public static int times2(int arg) {
int ret = cpp_filePINVOKE.times2(arg);
return ret;
}
}
اما این اررور رو میده:
نقل قول:
Error 1 error LNK2019: unresolved external symbol "int __cdecl times2(int)" (?times2@@YAHH@Z) referenced in function _CSharp_times2@4
Error 2 error LNK1120: 1 unresolved externals
نقل قول: استفاده از کلاسهای ++c در #C
نقل قول: استفاده از کلاسهای ++c در #C
نقل قول:
نوشته شده توسط
هم دانشگاهی
سلام
من تونستم فایلهای cxx رو بسازم ولی وقتی پروژه سی شارپ رو ران میکنم، لینکر اررور میده
کدها به صورت زیره:
clss_file.h
class cpp_file
{
public:
cpp_file(void);
~cpp_file(void);
int times2(int arg);
};
class_file.cpp
#include "cpp_file.h"
cpp_file::cpp_file(void)
{
}
cpp_file::~cpp_file(void)
{
}
int cpp_file::times2(int arg)
{
return arg * 2;
}
cpp_file.i
/* cpp_file.i */
%module cpp_file
%{
/* Put header files here or function declarations like below */
extern int times2(int arg);
%}
extern int times2(int arg);
cpp_file.cs
using System;
using System.Runtime.InteropServices;
public class cpp_file {
public static int times2(int arg) {
int ret = cpp_filePINVOKE.times2(arg);
return ret;
}
}
اما این اررور رو میده:
برای من کار کرد.نمیدونم مشکل چیه.احتمالا از VC++ ه چون gcc صداش هم در نمیاد.
نقل قول: استفاده از کلاسهای ++c در #C
باید چه جوری نصبش کنم؟ من mingw رو نصب کردم.
نقل قول: استفاده از کلاسهای ++c در #C
نقل قول:
نوشته شده توسط
هم دانشگاهی
باید چه جوری نصبش کنم؟ من mingw رو نصب کردم.
mingw همون gcc ه توی ویندوز.
دستوراتی که نوشتی رو کامل بزار اینجا
نقل قول: استفاده از کلاسهای ++c در #C
من دستوری ننوشتم، روی فایل i. کلیک راست کردم و گزینه کامپایل رو زدم. بعد کامپایل شد. در واقع میشه گفت کدی باید mingw ننوشتم.
لطفا راهنمایی کنین
نقل قول: استفاده از کلاسهای ++c در #C
نقل قول:
نوشته شده توسط
هم دانشگاهی
من دستوری ننوشتم، روی فایل i. کلیک راست کردم و گزینه کامپایل رو زدم. بعد کامپایل شد. در واقع میشه گفت کدی باید mingw ننوشتم.
لطفا راهنمایی کنین
با ویژوال استودیو زدی کامپایل؟
فکر نکردی پس نقش swig اینجا چیه؟
نقل قول: استفاده از کلاسهای ++c در #C
کلاس رو کلا لازم نیست تو سی++ داشته باشی می تونی توابع رو به صورت سی استایل بنویسی بعد تو سی# هر مدلی که خواستی پیداه سازی کنی این طوری راحت تر هم هست البته خود دات نت یه سری صفت ها داره اون رو به ساختار ها بدی خودش توابع عضو و .. رو درست می شناسه . سرچ لطفا .
درضمن کلاس توی دات نت با کلاس توی سی ++ فرق داره .
کلا یا همه رو یا با سی++ بنویس یا سی# اینطوری الکی وقتت میره و کلی هم باگ دستت میاد
نقل قول: استفاده از کلاسهای ++c در #C
نقل قول:
نوشته شده توسط
FastCode
با ویژوال استودیو زدی کامپایل؟
فکر نکردی پس نقش swig اینجا چیه؟
دستورش چیه ؟
میشه یه راهنمایی کلی از اول تا آخرش بکنی؟ واقعا ممنون
نقل قول: استفاده از کلاسهای ++c در #C
نقل قول:
نوشته شده توسط
هم دانشگاهی
دستورش چیه ؟
میشه یه راهنمایی کلی از اول تا آخرش بکنی؟ واقعا ممنون
http://www.swig.org/tutorial.html
نقل قول: استفاده از کلاسهای ++c در #C
ممنون، من طبق چیزی که گفته بود رفتم، ولی این خط رو
gcc -c -fpic example.c example_wrap.c
که تو cmd مینویسم این اررور رو میده:
نقل قول:
gcc: error: CreateProcess: No such file or directory
خط اول رو تونستم اجرا کنم
ممنون
نقل قول: استفاده از کلاسهای ++c در #C
نقل قول:
نوشته شده توسط
هم دانشگاهی
ممنون، من طبق چیزی که گفته بود رفتم، ولی این خط رو
gcc -c -fpic example.c example_wrap.c
که تو cmd مینویسم این اررور رو میده:
خط اول رو تونستم اجرا کنم
ممنون
PATH رو درست تنظیم نکردید.
http://stackoverflow.com/questions/1...e-or-directory
نقل قول: استفاده از کلاسهای ++c در #C
بازم درست نشد، مسیر path رو هم تغییر دادم ولی درست نشد . . .
نقل قول: استفاده از کلاسهای ++c در #C
نقل قول:
نوشته شده توسط
هم دانشگاهی
بازم درست نشد، مسیر path رو هم تغییر دادم ولی درست نشد . . .
path نه PATH
فرق داره.
نقل قول: استفاده از کلاسهای ++c در #C
نقل قول:
نوشته شده توسط
FastCode
path نه PATH
فرق داره.
من روی mycomputer راست کلیک میکنم، Properties، بعد Advanced system settings رو میزنم. اونجا Enviroment variable رو میزنم و بعد در قسمت System variable به path مسیر زیر رو اضافه میکنم:
نقل قول:
C:\MinGw\libexec\gcc\mingw32\4.7.1
باید کار دیگه ای انجام بدم؟!
نقل قول: استفاده از کلاسهای ++c در #C
نقل قول:
C:\MinGw\libexec\gcc\mingw32\4.7.1
غلطه
درستش اینه:
C:\MinGw
(الان شک کردم که تا کجاش باید باشه ولی فکر میکنم همین باشه)