C# C代码可以';";见;我的C++;动态链接库 我有一个C++编写的代码(我没有写),想在C语言中使用它,所以我决定制作一个DLL并从这里使用这个类。 我对C++的知识很有限,在我的C项目中,我经常遇到这个类的方法问题。 < C++代码是这样的: #ifndef BeamAn_class #define BeamAn_class #define DllExport __declspec( dllexport ) #include <vector> #include <cmath> using namespace std; public class DllExport BeamAn { public: BeamAn(); ~BeamAn(); bool SetGeometry(vector<double>); //I didn't put the DllExport here because I already did it for the whole class. It's okay to do this, right? //other public methods an stuff private: //private methods an stuff } #endif \ifndef BeamAn\u类 #定义一个类 #定义DllExport\uuu declspec(DllExport) #包括 #包括 使用名称空间std; 公共类DllExport BeamAn { 公众: 比曼(); ~BeamAn(); bool SetGeometry(vector);//我没有把DllExport放在这里,因为我已经为全班做了。这样做没关系,对吧? //其他公共方法也是一种东西 私人: //私事 } #恩迪夫 在我的C++项目中,我通常向C++ DLL添加引用(右击项目,添加引用。.LIB和.h文件在DLL的同一个文件夹中)。< /P>
但是看起来VisualStudio无法“看到”我的类的方法。我可以创建BeamAn类型的对象,但不能使用它的任何方法。 例如,我可以这样做: BeamAn contBeam=新的BeamAn(); 但不能在类内使用任何方法或属性,如:contBeam.SetLoadFactors(1.0,1.2) Visual Studio表示“BeamAn不包含“SetLoadFactors”的定义,并且找不到接受第一个参数类型“BeamAn”的扩展方法“SetLoadFactors”(是否缺少using指令或程序集引用?) < >我在C++代码中应该写更多的东西来让DLL正常工作,或者在引用时我做了什么错误吗?我知道如果我是明确的链接,我必须在我的C代码中使用“DLLIMPART”,但这不是我想要做的。C# C代码可以';";见;我的C++;动态链接库 我有一个C++编写的代码(我没有写),想在C语言中使用它,所以我决定制作一个DLL并从这里使用这个类。 我对C++的知识很有限,在我的C项目中,我经常遇到这个类的方法问题。 < C++代码是这样的: #ifndef BeamAn_class #define BeamAn_class #define DllExport __declspec( dllexport ) #include <vector> #include <cmath> using namespace std; public class DllExport BeamAn { public: BeamAn(); ~BeamAn(); bool SetGeometry(vector<double>); //I didn't put the DllExport here because I already did it for the whole class. It's okay to do this, right? //other public methods an stuff private: //private methods an stuff } #endif \ifndef BeamAn\u类 #定义一个类 #定义DllExport\uuu declspec(DllExport) #包括 #包括 使用名称空间std; 公共类DllExport BeamAn { 公众: 比曼(); ~BeamAn(); bool SetGeometry(vector);//我没有把DllExport放在这里,因为我已经为全班做了。这样做没关系,对吧? //其他公共方法也是一种东西 私人: //私事 } #恩迪夫 在我的C++项目中,我通常向C++ DLL添加引用(右击项目,添加引用。.LIB和.h文件在DLL的同一个文件夹中)。< /P>,c#,c++,visual-studio-2010,dll,C#,C++,Visual Studio 2010,Dll,但是看起来VisualStudio无法“看到”我的类的方法。我可以创建BeamAn类型的对象,但不能使用它的任何方法。 例如,我可以这样做: BeamAn contBeam=新的BeamAn(); 但不能在类内使用任何方法或属性,如:contBeam.SetLoadFactors(1.0,1.2) Visual Studio表示“BeamAn不包含“SetLoadFactors”的定义,并且找不到接受第一个参数类型“BeamAn”的扩展方法“SetLoadFactors”(是否缺少using指令
非常感谢!
< P>在C++项目中使用C++代码,你有2个选项:一个可能引起你兴趣的链接:
< P>在C++项目中使用C++代码,你有2个选项:一个可能引起您兴趣的链接:
< P> > C++中有几种方法可以使C++库可用。解决你接收到的错误:你不能从C++项目中添加对C++库的引用——它们是完全不同的语言,它们有不同的内存管理系统、不同类型的系统、不同的所有东西(很多东西)。从非托管代码到托管代码。
< P> C++中有几种方法可以使C++库可用。解决你接收到的错误:你不能从C++项目中添加对C++库的引用——它们是完全不同的语言,它们有不同的内存管理系统、不同类型的系统、不同的所有东西(很多东西)。从非托管代码到托管代码。
我在尝试重复本教程时遇到与Pescador7相同的错误:我在尝试重复本教程时遇到与Pescador7相同的错误: