[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Using MSVC++ 4.2 to create DLL for CALL_EXTERNAL

I am new to Windows development and am having some problems creating a very
simple DLL within Microsoft Developer Studio  to be called my IDL using
CALL_EXTERNAL.  I have been discussing the problem with RSI tech support and
they supplied me with the following simple program to try within Microsoft
Developer Studio (v. 4.2) which I cannot get to compile.  They use MSVC++
6.0 so they are unable to help further.


#include <stdio.h>
#include "e:\rsi\idl52\external\export.h"
#ifdef WIN32
#include <windows.h>
#define IDL_LONG_RETURN __declspec(dllexport) int
#define IDL_LONG_RETURN int

IDL_LONG_RETURN string_test(int argc, void *argv[])
 IDL_STRING idl_str;
 char str_idl[80];

 strcpy(str_idl, "Data Collection\0");
 IDL_StrStore (&idl_str, str_idl);
 printf ("I guess it worked?!?\n");
 return (1L);

I am building the DLL within MSVC++ as a new project workspace->dynamic-link
library.  I then add the library idl32.lib with :

Build->Settings-> Link Tab - Category: General  added idl32.lib under
Object/Library modules
Then I added the path under
Tools->Options-> directories Tab-> Show:Library Files added e:\rsi\idl52

BTW, other libraries also included by default :
kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib
shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib

when I build , I get the following error now:

E:\rsi\IDL52\idl32.lib : fatal error LNK1106: invalid file or disk full:
cannot seek to 0x3758b06a
Error executing link.exe.
testDLLrsi.dll - 1 error(s), 0 warning(s)

E: drive has 650Mb space left.???

However, I notice in the examples (.../external/call_external/C) the
makefile_win.mak includes the file :  !include <win32.mak> ..  Do I need to
add this to the MSVC++ generated makefile for my project because I notice it
is not in there (the nmake file generated does expressly state  DO NOt EDIT
so I was leary of changing it.

Anyone have any hints as to what is going on ??

Thanks in Advance