The Origin Forum
File Exchange
Try Origin for Free
The Origin Forum
Home | Profile | Register | Active Topics | Members | Search | FAQ | Send File to Tech support
 All Forums
 Origin Forum for Programming
 Forum for Origin C
 external DLL cannot find function (my challenge w)

Note: You must be registered in order to post a reply.
To register, click here. Registration is FREE!

Screensize:
UserName:
Password:
Anti-Spam Code:
Format Mode:
Format: BoldItalicizedUnderlineStrikethrough Align LeftCenteredAlign Right Horizontal Rule Insert HyperlinkUpload FileInsert Image Insert CodeInsert QuoteInsert List
   
Message:

* HTML is OFF
* Forum Code is ON
Smilies
Smile [:)] Big Smile [:D] Cool [8D] Blush [:I]
Tongue [:P] Evil [):] Wink [;)] Clown [:o)]
Black Eye [B)] Eight Ball [8] Frown [:(] Shy [8)]
Shocked [:0] Angry [:(!] Dead [xx(] Sleepy [|)]
Kisses [:X] Approve [^] Disapprove [V] Question [?]

 
Check here to subscribe to this topic.
   

T O P I C    R E V I E W
shafei Posted - 01/21/2012 : 07:26:54 AM
Hi, The problem is that I am trying to convert some of my codes from C++ to DLL so they run faster. To do this I started learning how to create DLL files (using VS 2010) and then implement them in Origin C. Unfortunately I get an error that I brought in the subject. The problem is that I am doubtful if it is the problem with the DLL file that I generate using VS or there are something about Origin that I need to figure out!
I started with extremely simple code:

#include "stdafx.h" //This header was included in the file VS //generated

int multiple(int t)
{
int i;
i = 2 * t;
return i;
}

Then I made a dll file with help of some videos online (http://www.youtube.com/watch?v=I0uGEJKcyik), generated separate header file using this link: http://www.originlab.com/www/support/resultstech.aspx?language=english&ID=997

and then wrote a simple code in Origin to run the dll file.
#include <Origin.h>
#include "C:\Creator\lastTest\lastTest\lastTest.h"

int MyDLLTest()
{
int k;
int j;
j =2;
k = multiple (2);
return k;
}

Unfortunately I constantly get this error that external DLL cannot find function ..... multiple.
I would really appreciate your help.
Thanks
5   L A T E S T    R E P L I E S    (Newest First)
shafei Posted - 01/25/2012 : 6:42:20 PM
I actually solved my problem! Instead of using VC directly to generate a dll file, I used the one that Origin has already prepared for fitting functions. I made the required changes, and tried it for a simple function. It worked. Origin has also several pages explaining how to call and use dll. Do as it is said in the file. Some of the links are:
http://ocwiki.originlab.com/index.php?title=Category:Access_an_External_DLL

http://ocwiki.originlab.com/index.php?title=OriginC:Calling_External_DLLs

http://www.originlab.com/www/support/resultstech.aspx?language=english&ID=997

In particular, I found the third link very useful.
shafei Posted - 01/23/2012 : 5:41:17 PM
I only have three .cpp files in the "source files" folder. That's what VC automatically generate!
eparent Posted - 01/23/2012 : 3:55:47 PM
In VC, under Source Files, you should see a .def file listed. Open this file and under EXPORTS add the names of the functions you want to export.

quote:
Originally posted by shafei

I create DLL file in VC 2010, and I do not see any folder named export. I have "External dependencies", "Header Files", "Resource Files", and "Source Files" folders in VC project.


shafei Posted - 01/23/2012 : 3:43:49 PM
I create DLL file in VC 2010, and I do not see any folder named export. I have "External dependencies", "Header Files", "Resource Files", and "Source Files" folders in VC project.
eparent Posted - 01/23/2012 : 3:26:01 PM
You need to export your function. Did you add the function name to your .def file? It should be listed under EXPORTS.

Example .def file:

LIBRARY

EXPORTS
    multiple


The Origin Forum © 2020 Originlab Corporation Go To Top Of Page
Snitz Forums 2000