Solved

Problems running nsqlprep with Visual Studio 2005.

Posted on 2008-06-25
3
602 Views
Last Modified: 2013-11-26
I have code which contains ESQL/C which is pre-processed by the Embedded SQL precompiler nsqlprep. This works fine when used with Visual Studio 6 but does not work when used with Visual Studio 2005.

As a simple test case I have a file called helloworld.sqc which contains the following text:

#include      <stdio.h>
int main()
{
      printf("hello world\n");
      return 0;
}

and I type

nsqlprep helloworld

from within a Visual Studio 2005 Command Prompt (Start -> All Programs -> Microsoft Visual Studio 2005 -> Visual Studio Tools), and I get

Microsoft (R) Embedded SQL for C Pre-Compiler. Version 6.50.04.
Copyright (c) Microsoft Corp 1993-1996. All rights reserved.

Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 14.00.50727.42 for 80x86
Copyright (C) Microsoft Corporation.  All rights reserved.

helloworld.sqc
Warning: helloworld.sqc, line 3235: syntax error.
{
Warning: helloworld.sqc, line 3238: syntax error.
(
Warning: helloworld.sqc, line 3262: syntax error.
(
Warning: helloworld.sqc, line 5: syntax error.
{


However, it runs and creates helloworld.c.

If I then type

cl helloworld.c

upon the helloworld.c which is produced by nsqlprep, I get

Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 14.00.50727.42 for 80x86
Copyright (C) Microsoft Corporation.  All rights reserved.

helloworld.c
D:\Program Files\Microsoft Visual Studio 8\VC\INCLUDE\crtdefs.h(1717) : error C2
011: 'localeinfo_struct' : 'struct' type redefinition
        D:\Program Files\Microsoft Visual Studio 8\VC\INCLUDE\crtdefs.h(1717) :
see declaration of 'localeinfo_struct'
D:\Program Files\Microsoft Visual Studio 8\VC\INCLUDE\crtdefs.h(1723) : error C2
011: 'tagLC_ID' : 'struct' type redefinition
        D:\Program Files\Microsoft Visual Studio 8\VC\INCLUDE\crtdefs.h(1723) :
see declaration of 'tagLC_ID'
D:\Program Files\Microsoft Visual Studio 8\VC\INCLUDE\crtdefs.h(1732) : error C2
011: 'threadlocaleinfostruct' : 'struct' type redefinition
        D:\Program Files\Microsoft Visual Studio 8\VC\INCLUDE\crtdefs.h(1732) :
see declaration of 'threadlocaleinfostruct'


If we repeat this exercise where we have

INCLUDE=D:\Program Files\Microsoft Visual Studio\VC98\Include;
LIB=D:\Program Files\Microsoft Visual Studio\VC98\Lib

i.e. the Visual Studio 6 include files and libraries, then everything works OK.


0
Comment
Question by:smartstream-stp
[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 Comments
 
LVL 31

Accepted Solution

by:
James Murrell earned 250 total points
ID: 21886940
push/pop pragmas are like open/close braces
for each push pragma there has to be one pop pragma

from http://www.velocityreviews.com/forums/t515341-warnings-building-multi-threaded-dll.html
0

Featured Post

Why You Need a DevOps Toolchain

IT needs to deliver services with more agility and velocity. IT must roll out application features and innovations faster to keep up with customer demands, which is where a DevOps toolchain steps in. View the infographic to see why you need a DevOps toolchain.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
PowerShell:  foreach where object notmatch? 17 73
Create a Calendar table 29 41
How does this modal gets closed? 6 40
When are cursors useful? 8 56
Slowly Changing Dimension Transformation component in data task flow is very useful for us to manage and control how data changes in SSIS.
I have a large data set and a SSIS package. How can I load this file in multi threading?
Via a live example, show how to setup several different housekeeping processes for a SQL Server.
Viewers will learn how to use the SELECT statement in SQL and will be exposed to the many uses the SELECT statement has.

737 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