Eamplemain dll files missing

Provide easy-to-use, extensible software for modeling, simulating, controlling, and analyzing the neuromusculoskeletal system.
POST REPLY
User avatar
Rahid Zaman
Posts: 31
Joined: Fri Apr 21, 2017 3:43 am

Eamplemain dll files missing

Post by Rahid Zaman » Fri Sep 11, 2020 10:52 pm

Hello,
Thank you to the all moderators and contributed of this forum who are giving their valuable time here to help others. I learned a lot of things from here.

I am trying to learn OpenSim API. I have installed it using the Cmake and try to build the Examplemain code. When I was trying to build the code in Cmake, I faced this warning:
p1.PNG
p1.PNG (7.5 KiB) Viewed 392 times
I ignored the warning and moved forward. When I run the built code by "start without debugging " in visual studio 2019 , I am getting error message about missing several dll files like osimActuators.dll, osimAnalyses.dll,osim.Common.dll etc.
p2.PNG
p2.PNG (10.91 KiB) Viewed 392 times
A screenshot of my CMake setting is given here.
p3.PNG
p3.PNG (55.54 KiB) Viewed 392 times
I got a solution in internet, that is copy-paste all the missing dll files in C/windows/system32. But, I think I am missing something. This should not be the way.

If you have any idea about the reasons of the missing files, please share. That will help me.

Thanks,
Rahid

Tags:

User avatar
Dimitar Stanev
Posts: 1096
Joined: Fri Jan 31, 2014 5:14 am

Re: Eamplemain dll files missing

Post by Dimitar Stanev » Sat Sep 12, 2020 6:15 am

Hi Rahid,

You should append OpenSim's bin directory (e.g., C:\OpenSim 4.1\bin) into the system PATH variable. For convenience, you could use rapid environmental editor.

User avatar
Rahid Zaman
Posts: 31
Joined: Fri Apr 21, 2017 3:43 am

Re: Eamplemain dll files missing

Post by Rahid Zaman » Sat Sep 12, 2020 9:13 am

Hello Mr. Dimitar for you reply.

I installed OpenSim API according to this guidelines: https://github.com/opensim-org/opensim-core

So, after installaing the API, I have to download the OpenSim 4.1 separately, and set the environment variable for that directory?

Do you mean rapid environmental editor as OpenSim GUI or anything else? I used OpenSim GUI before, but now I need to integrate OpenSim with my code. That's why I thought learning how to use OpenSim API would be a useful thing for me.

Thanks,
Rahid

User avatar
Dimitar Stanev
Posts: 1096
Joined: Fri Jan 31, 2014 5:14 am

Re: Eamplemain dll files missing

Post by Dimitar Stanev » Sat Sep 12, 2020 12:41 pm

Dynamic libraries (.dll) should be located by the application at runtime. In order to locate those files you should append the absolute path to the environmental variable PATH of the operating system, in case that they are not placed in system-wide directories like system32. You can do this through Windows or use a very useful application called rapid environmental editor.

You should be careful which directory you are appending in case that you use multiple versions of OpenSim (e.g., opensim-core and OpenSim 4.1). If CMake points to opensim-core, then you should locate the bin folder where the .dll files are installed when you built opensim-core. Otherwise, you can do the same with OpenSim 4.1. Keep in mind that you might run into errors if upon configuration of the CMake OpenSim tutorial, the OpenSim_DIR or OPENSIM_HOME variables point to C:\OpenSim 4.1\sdk. .. but the bin folder that you have appended to PATH points to something else.

I suggest that you familiarize yourself with the C++ compilation, static and dynamic linking and CMake. Also, check what the PATH variable is and how to modify it.

https://cmake.org/cmake/help/git-stage/ ... index.html

User avatar
Rahid Zaman
Posts: 31
Joined: Fri Apr 21, 2017 3:43 am

Re: Eamplemain dll files missing

Post by Rahid Zaman » Sat Sep 12, 2020 2:59 pm

Mr. Dimitar,

Those are really useful info for me. I downloaded the OpenSim 4.1 and showed the OpenSim 4.1/Bin in the environment path. Now, it is working. Not sure, why it was not working when I showed the path to OpenSim-core/Bin.

Yes, I need to learn more about the C++ compilation and Cmake. I will go through the link.

Thank you for your time and help.

POST REPLY