Hi
I'm trying to use a 3rd party static library file. It's called
swedll32.lib..I've added it to my MFC Project.
When I try to call a function, I get: "identifier not found"
Don't I need a "swedll32.h" file to go along with the swedll32.lib
file?
All I have is a swedll32.dll and a swedll32.lib file.
thanks
Tony C.
Are you referring to the Swiss Ephemeris DLL? If so, a google search
of swedll32 turned up this:
swedll.h
DllImport int FAR PASCAL swe_set_ephe_path_d(char *path);
swephexp.h
ext_def( void ) swe_set_ephe_path(char *path);
so maybe the .h file does not have to be the exact name of the
.lib file?
perhaps I'm supposed to use one of the above files....
==>>Does a header file have to have the same name as the .lib file
then?
Thanks, Tony C.
On Sat, 07 Nov 2009 09:00:19 -0800, Geoff <ge...@invalid.invalid>
wrote:
>Yes, i do have the zip file and I've got a swedll.h, and swephexp.h
>file with prototypes that look like:
>
>swedll.h
>DllImport int FAR PASCAL swe_set_ephe_path_d(char *path);
>
>swephexp.h
>ext_def( void ) swe_set_ephe_path(char *path);
>
>
>so maybe the .h file does not have to be the exact name of the
>.lib file?
>
>
>perhaps I'm supposed to use one of the above files....
>
>
>==>>Does a header file have to have the same name as the .lib file
>then?
>
>
>
>Thanks, Tony C.
>
No, the header can be named almost anything. The examples show
inclusion of both swephexp.h and swedll.h and there are macro guards
to prevent double inclusions and swedll.h includes swephexp.h
automatically and swephexp.h includes sweodef.h.
The documentation states you need the DLL, the .lib and the three
header files to compile in C:
swedll.h
swephexp.h
sweodef.h
You may also need swepcalc.h for the Placalc API.
Thanks...
Hey Geof,,
THANKS VERY MUCH!!!
After 12 hours of working on this - pulling out my hair
the way you just explained it got it for me...
I was getting Linker errors all day long....!!!
so
THANKS AGAIN!
Tony C.
So, in the absence of any useful information that would help us analyze your problem,
either you have failed to include the proper header file during the build process, or you
failed to specify the proper name specification during the build process, or it is failing
to find the library file (possibly because your specification of it to the linker is not
correct).
Please provide ALL necessary information.
A proper header file, by the way, typically has something like
#ifdef __cplusplus
extern "C" {
#endif
void SomeFunction();
void OtherFunction();
#ifdef __cplusplus
}
#endif
or
#ifdef __cplusplus
#define SOMENAME extern "C"
#else
#define SOMENAME
#endif
SOMENAME void SomeFunction();
SOMENAME void OtherFunction();
failure to do this will mean that your C++ program cannot be linked with a C-based DLL.
joe
On Sat, 07 Nov 2009 10:40:39 -0600, m...@here.com wrote:
Joseph M. Newcomer [MVP]
email: newc...@flounder.com
Web: http://www.flounder.com
MVP Tips: http://www.flounder.com/mvp_tips.htm
No doubt all kinds of function prototype errors as well.
You're welcome. Good luck.