By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
457,948 Members | 1,522 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 457,948 IT Pros & Developers. It's quick & easy.

linker warning

P: n/a
Hi
I have a project that consists of an unmanaged DLL (extended stored
procedure) and a static library, which I have converted to managed, although
it has got one unmanaged function which is exported to the unmanaged.
I keep getting the linker warning 'warning - images compiled with /NOENTRY
may not run correctly'.
It doesn't seem to have any adverse effects, but what does it mean and how
do I get rid of it?
Nov 17 '05 #1
Share this Question
Share on Google+
6 Replies


P: n/a
LINK : warning LNK4243: DLL containing objects compiled with /clr is not
linked with /NOENTRY; image may not run correctly

This is on the DLL that is itself unmanaged, but links to a function in a
managed static library

Cheers

Nov 17 '05 #2

P: n/a
"Bonj" <Bo**@discussions.microsoft.com> wrote in message
news:E4**********************************@microsof t.com
LINK : warning LNK4243: DLL containing objects compiled with /clr is
not linked with /NOENTRY; image may not run correctly


See KB Article KB814472 "PRB: Linker Warnings When You Build Managed
Extensions for C++ DLL Projects"
--
With best wishes,
Igor Tandetnik

"On two occasions, I have been asked [by members of Parliament], 'Pray,
Mr. Babbage, if you put into the machine wrong figures, will the right
answers come out?' I am not able to rightly apprehend the kind of
confusion of ideas that could provoke such a question." -- Charles
Babbage
Nov 17 '05 #3

P: n/a
That's great Igor, it solves that
However it causes:

Linking...
LINK : warning LNK4075: ignoring '/EDITANDCONTINUE' due to '/INCREMENTAL:NO'
specification
Creating library Debug/xp_emb.lib and object Debug/xp_emb.exp
LINK : warning LNK4098: defaultlib 'MSVCRTD' conflicts with use of other
libs; use /NODEFAULTLIB:library
msvcrt.lib(cinitexe.obj) : warning LNK4098: defaultlib 'libcmtd.lib'
conflicts with use of other libs; use /NODEFAULTLIB:library

I followed that article and my link command line thingy is now:
/OUT:"Debug/****.dll" /NOLOGO /LIBPATH:"C:\Documents and Settings\taylorb\My
Documents\Visual Studio Projects\Apps\xp_emb\reader\Debug" /DLL
/NODEFAULTLIB:"nochkclr.obj" /INCLUDE:"__DllMainCRTStartup@12" /DEBUG
/PDB:"Debug/xp_emb.pdb" /SUBSYSTEM:WINDOWS /NOENTRY /MACHINE:X86 msvcrt.lib
opends60.lib reader.lib kernel32.lib user32.lib gdi32.lib winspool.lib
comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib
odbc32.lib odbccp32.lib ".\reader\Debug\reader.lib"

It is an unmanaged extended stored procedure DLL in VC7.1, and reader.lib is
a managed static library project.

Any ideas?
"Igor Tandetnik" wrote:
"Bonj" <Bo**@discussions.microsoft.com> wrote in message
news:E4**********************************@microsof t.com
LINK : warning LNK4243: DLL containing objects compiled with /clr is
not linked with /NOENTRY; image may not run correctly


See KB Article KB814472 "PRB: Linker Warnings When You Build Managed
Extensions for C++ DLL Projects"
--
With best wishes,
Igor Tandetnik

"On two occasions, I have been asked [by members of Parliament], 'Pray,
Mr. Babbage, if you put into the machine wrong figures, will the right
answers come out?' I am not able to rightly apprehend the kind of
confusion of ideas that could provoke such a question." -- Charles
Babbage

Nov 17 '05 #4

P: n/a
obviously the one about editandcontinue I'm not that bothered about

"Igor Tandetnik" wrote:
"Bonj" <Bo**@discussions.microsoft.com> wrote in message
news:E4**********************************@microsof t.com
LINK : warning LNK4243: DLL containing objects compiled with /clr is
not linked with /NOENTRY; image may not run correctly


See KB Article KB814472 "PRB: Linker Warnings When You Build Managed
Extensions for C++ DLL Projects"
--
With best wishes,
Igor Tandetnik

"On two occasions, I have been asked [by members of Parliament], 'Pray,
Mr. Babbage, if you put into the machine wrong figures, will the right
answers come out?' I am not able to rightly apprehend the kind of
confusion of ideas that could provoke such a question." -- Charles
Babbage

Nov 17 '05 #5

P: n/a
"Bonj" <Bo**@discussions.microsoft.com> wrote in message
news:47**********************************@microsof t.com
That's great Igor, it solves that
However it causes:

Linking...
LINK : warning LNK4075: ignoring '/EDITANDCONTINUE' due to
'/INCREMENTAL:NO' specification
Creating library Debug/xp_emb.lib and object Debug/xp_emb.exp
LINK : warning LNK4098: defaultlib 'MSVCRTD' conflicts with use of
other libs; use /NODEFAULTLIB:library
msvcrt.lib(cinitexe.obj) : warning LNK4098: defaultlib 'libcmtd.lib'
conflicts with use of other libs; use /NODEFAULTLIB:library


I suspect you should have only done the changes described in the article
to your Release build. Or at least in Debug build, replace msvcrt.lib
with msvcrtd.lib.

As to libcmtd.lib, make sure that you use CRT DLL. Project Properties |
C/C++ | Code Generation | Runtime Library, set to Multi-threaded DLL in
Release build and Multi-threaded Debug DLL in Debug build.
--
With best wishes,
Igor Tandetnik

"On two occasions, I have been asked [by members of Parliament], 'Pray,
Mr. Babbage, if you put into the machine wrong figures, will the right
answers come out?' I am not able to rightly apprehend the kind of
confusion of ideas that could provoke such a question." -- Charles
Babbage
Nov 17 '05 #6

P: n/a
Oh RIGHT! so the "d" is for debug!
OK, got it thanks
I'll try that

"Igor Tandetnik" wrote:
"Bonj" <Bo**@discussions.microsoft.com> wrote in message
news:47**********************************@microsof t.com
That's great Igor, it solves that
However it causes:

Linking...
LINK : warning LNK4075: ignoring '/EDITANDCONTINUE' due to
'/INCREMENTAL:NO' specification
Creating library Debug/xp_emb.lib and object Debug/xp_emb.exp
LINK : warning LNK4098: defaultlib 'MSVCRTD' conflicts with use of
other libs; use /NODEFAULTLIB:library
msvcrt.lib(cinitexe.obj) : warning LNK4098: defaultlib 'libcmtd.lib'
conflicts with use of other libs; use /NODEFAULTLIB:library


I suspect you should have only done the changes described in the article
to your Release build. Or at least in Debug build, replace msvcrt.lib
with msvcrtd.lib.

As to libcmtd.lib, make sure that you use CRT DLL. Project Properties |
C/C++ | Code Generation | Runtime Library, set to Multi-threaded DLL in
Release build and Multi-threaded Debug DLL in Debug build.
--
With best wishes,
Igor Tandetnik

"On two occasions, I have been asked [by members of Parliament], 'Pray,
Mr. Babbage, if you put into the machine wrong figures, will the right
answers come out?' I am not able to rightly apprehend the kind of
confusion of ideas that could provoke such a question." -- Charles
Babbage

Nov 17 '05 #7

This discussion thread is closed

Replies have been disabled for this discussion.