Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

make DLL

Posted on 1997-09-17
9
Medium Priority
?
466 Views
Last Modified: 2011-10-03
Little help needed.
Using  C++ 40  Win NT
Failure to build DLL file
----
#include <windows.h>
#include <ole2.h>
#include <sql.h>
#include <sqlext.h>

#ifdef _WIN32
  #define CCONV _stdcall
  #define NOMANGLE
#else
  #define CCONV FAR PASCAL _export
  #define NOMANGLE EXTERN_C
  #include <stdlib.h>
  #include <compobj.h>    
  #include <dispatch.h>
  #include <variant.h>
  #include <olenls.h>  
#endif

NOMANGLE LONG CCONV PassByte ()
{
RETCODE rs;
HENV henv;
rs=SQLAllocEnv(&henv);
rs=SQLFreeEnv(henv);
return      rs;
}
-----------------------------def, file
LIBRARY vb4dll

CODE      PRELOAD MOVEABLE DISCARDABLE
DATA      PRELOAD MOVEABLE

EXPORTS
      PassByte      @1
-----------
Error message LNK1141
Failure durning bulild of export file

Please give a clue.

mativare@i-2000.com
Please make corrections to code and post , then every
beginner(like me) can see it on a net.
Matt
0
Comment
Question by:mativare
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 2
  • 2
  • +1
9 Comments
 
LVL 3

Expert Comment

by:msmits
ID: 1254830
Is the file a .c file or a .cpp. When .cpp you must use:

extern "C" {
...
}

or just use a .c file.
This will disable the name mangling so the linker can find the right function.

0
 
LVL 1

Author Comment

by:mativare
ID: 1254831
filenames were  vb4dll.c
and vb4dll.def
Unfortunately question remains unanswered.
Thanks  for a attempt.
Matthew
0
 
LVL 3

Expert Comment

by:msmits
ID: 1254832
except for the SQL stuff I could generate your DLL fine. I use Borland C++ 5.02 on win95 at the moment.

0
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 1

Expert Comment

by:navigator010897
ID: 1254833
Um,
you have a real strange problem.

I just compiled your dll, the .cpp and the .def file on MSVC++ 4.0 Standard on Win95 and if compiled flawlessly.  

Perhaps you set up the project wrong, and instead of just a pure dll you set up an app wizard mfc dll?  Or maybe perhaps you didn't do a full install with msvc and are missing some of the header files needed for the ole/sql?
0
 
LVL 1

Author Comment

by:mativare
ID: 1254834
I used "pure dll Option". It compiled too, but building(linking) went wrong
Messages LNK 4044, LNK1181,  LNK1141
Still hoping
Matthew
0
 
LVL 1

Expert Comment

by:navigator010897
ID: 1254835
Are you sure you included all of the database support options when you installed MSVC 4.0?  It seems very odd that you are having this trouble, as I said, I just cut and pasted your code, and it worked flawlessly...
0
 
LVL 1

Expert Comment

by:Seeker092397
ID: 1254836
Along with LNK1181 error must come a name of a file linker could not find. What is it?
0
 
LVL 1

Author Comment

by:mativare
ID: 1254837
fatal error LNK1181: cannot open input file "Files\DevStudio\BIN\link.exe"
Good man you solved it, because my Dev Studio is located in
"Program Files."
Seems I need to do reinstallment of VC++, if you have any other hints
how to "tell" compiler where are files, let me know.
 I know there are files  like
setup .ini and...
Thanks a lot.
Matt
Matthew


0
 
LVL 1

Accepted Solution

by:
Seeker092397 earned 400 total points
ID: 1254838
I am glad I helped You. If You'd be so kind, please transfer me the value of the answer. Thanx.
0

Featured Post

Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

An Outlet in Cocoa is a persistent reference to a GUI control; it connects a property (a variable) to a control.  For example, it is common to create an Outlet for the text field GUI control and change the text that appears in this field via that Ou…
Examines three attack vectors, specifically, the different types of malware used in malicious attacks, web application attacks, and finally, network based attacks.  Concludes by examining the means of securing and protecting critical systems and inf…
The goal of this video is to provide viewers with basic examples to understand and use structures in the C programming language.
Video by: Grant
The goal of this video is to provide viewers with basic examples to understand and use while-loops in the C programming language.

722 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question