[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Using MSVC++ 4.2 to create DLL for CALL_EXTERNAL
- Subject: Using MSVC++ 4.2 to create DLL for CALL_EXTERNAL
- From: "Richard Tyc" <richt(at)sbrc.umanitoba.ca>
- Date: Wed, 12 Jan 2000 09:39:47 -0600
- Newsgroups: comp.lang.idl-pvwave
- Organization: The University of Manitoba
- Xref: news.doit.wisc.edu comp.lang.idl-pvwave:17978
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.
string_test.c:
#include <stdio.h>
#include "e:\rsi\idl52\external\export.h"
#ifdef WIN32
#include <windows.h>
#define IDL_LONG_RETURN __declspec(dllexport) int
#else
#define IDL_LONG_RETURN int
#endif
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:
Linking...
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
Rich