DLL building with the latest revision

Forum for OpenSees users to post questions, comments, etc. on the use of the OpenSees interpreter, OpenSees.exe

Moderators: silvia, selimgunay, Moderators

Post Reply
smailk
Posts: 18
Joined: Mon Jul 23, 2012 8:32 am
Location: Saad Dahleb - Blida

DLL building with the latest revision

Post by smailk »

Dear All,

I would be grateful if someone could help me in some bugs that arise when I am trying to build a DLL using visual studio the error messages are given below:
1>InitializeBuildStatus:
1> Touching "Debug\CFSSWP.unsuccessfulbuild".
1>ClCompile:
1> win32Functions.cpp
1>d:\pg\my written scripts tcl c++ and matlab\new dlls\iss\developer\core\win32functions.cpp(215): error C2733: 'ops_getstring' : second C linkage of overloaded function not allowed
1> d:\pg\my written scripts tcl c++ and matlab\new dlls\iss\developer\core\elementapi.h(145) : see declaration of 'ops_getstring'
1> IncrementalIntegrator.cpp
1> Generating Code...

Remaining at your disposal for further details I am looking forward to your feedback,

Smail.
Sanjeema
Posts: 14
Joined: Tue Nov 17, 2015 4:37 am
Location: Tokyo Institute of Technology

Re: DLL building with the latest revision

Post by Sanjeema »

Dear sir,

I tried building a DLL for ElasticPPcpp as demonstrated in the example with the latest Developer in MS Visual Studio 2010. But I got two error messages:

Error 2 error C2733: second C linkage of overloaded function 'ops_getstring' not allowed i:\2015\c plus plus practice\3_elasticppcpp with new developer\developer\core\win32functions.cpp 217
Error 31 error C1083: Cannot open include file: 'EigenSOE.h': No such file or directory i:\2015\c plus plus practice\3_elasticppcpp with new developer\developer\core\incrementalintegrator.cpp 41

The code for win32functions.cpp in the trunk
http://opensees.berkeley.edu/WebSVN/fil ... ctions.cpp is a little different from the one I got downloaded from svn in the following lines:

typedef const char *(*OPS_GetStringType)();

extern "C" const char *OPS_GetString()
{
return (*OPS_GetStringPtr)();
}

I could not find this declaration and definitions in any of the previous versions of revision or the current version in the trunk.

As for the IncrementalIntegrator.cpp, do I need to download EigenSOE.h? It isn't in the core directory.

So, what I did was to use an older Developer. win32functions.cpp did not give the C2733 error; OPS_GetString had a different declaration and definition. And, IncrementalIntegrator.cpp did not icnlude a EigneSOE.h.

On doing so, I successfully compiled the dll. But when I run it in the command prompt, it gives the error:

WARNING could not create uniaxialMaterial ElasticPPcpp

while executing
"uniaxialMaterial ElasticPPcpp 1 3000 0.001"
(file "example1.tcl" line 22)

The tcl script, ElasticPPcpp.dll and OpenSees.exe are in the same folder.

I looked up in the forum and I saw recommendation to use 32-bit OpenSees.exe. Can't I get around this problem with a 64-bit OpenSees.exe?

Kindly suggest me what I can do.

Sincerely,

Sanjeema
Post Reply