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.
DLL building with the latest revision
Moderators: silvia, selimgunay, Moderators
Re: DLL building with the latest revision
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
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