Jump to content

Import Makefile settings to VS2005 IDE

- - - - -

This topic has been archived. This means that you cannot reply to this topic.
4 replies to this topic

#1
jjplaw

jjplaw

    Newbie

  • Members
  • Pip
  • 8 posts
Hi,

I'm a newbie in this vast world of programming. I've been given some codes in C which are compiled & linked using makefile. I can compile the code using nmake from VS2005. Now i want to build the program in C++ VS2005 IDE.
From a quick google search, there seems to be no automated functions in importing makefile settings to VS IDE.
I tried to include all the necessary dependecies(header and lib files) stated in the makefile to VS but i get a lot of linking errors. I'm not even sure where to start looking to solve the issue. I hope the gurus can help me out.

The makefile including two other related makefile is attached to this post.
[1]makefile.mak
[2]compiler.mak
[3]options.mak



In VS I've:
[1] Create a new empty project
[2] Add exisiting sources (c files and header files)
[3] Additional Include Directories: ..../include and ..../src/make7
[4] Additional Library Directories: ..../lib
[5] Build project...

I got 74 linker errors the VS output after attempted build. Example:
conmain.obj : error LNK2001: unresolved external symbol _MMSd_freeDsMemFunction
scl_cli.obj : error LNK2019: unresolved external symbol _TAM_parse_address referenced in function _ResolveServerAddress

I've not dealt with makefiles before. I apologize if this post may sound very newbie style and amatuer-ish. I'm new but I'm willing to learn.

Any advice and comment is greatly appreciated.

jjplaw

Attached Files



#2
WingedPanther

WingedPanther

    A spammer's worst nightmare

  • Moderators
  • 16,831 posts
Make files create a lot of different settings, compiler options, linker options, etc. You would have to read the make files and recreate each setting for each file/project. Effectively, you have to replace ALL the logic of the make file in your project. This is not likely to be a trivial task.
Programming is a branch of mathematics.
My CodeCall Blog | My Personal Blog

#3
jjplaw

jjplaw

    Newbie

  • Members
  • Pip
  • 8 posts
WingedPanther, Thanks for the info on makefiles.
Could you give me some examples of what other settings in the makefile that are recreated in VS? Currently, i only know to add include directories for compiler options and add lib directories for linker options.

[1] The source codes has 3 C files. According to makefile settings, one of the C file is compiled to generate an OBJ file with a different name; conmain.c==>tcpmain.obj
Is this also one of the settings i have to recreate in VS? or it doesnt effect anything in VS?

[2] The errors i get from VS IDE are all unresolved external symbols when linking. All the library files are already included in the additional lib directories option. Is there any additional option/settings in VS 2005 that can output more information of the build error?

[3] From a google search, someone suggested to change the compiler options in VS to "Compiler as C Code" because i'm using a C++ compiler to compile C codes. Is this true? I tried it but it didnt work also.

[4] In the makefile, there is a symbol @<<. What does it do? Is it two seperate symbols @ and <<? I cant seem to find the answer on google.

Please advise.

justin

#4
WingedPanther

WingedPanther

    A spammer's worst nightmare

  • Moderators
  • 16,831 posts
Unfortunately, I'm not even close to an expert on VS, which has significantly different compiler/linker options than GCC. I would start with documentation on nmake, such as NMAKE Reference
Programming is a branch of mathematics.
My CodeCall Blog | My Personal Blog

#5
jjplaw

jjplaw

    Newbie

  • Members
  • Pip
  • 8 posts
Thanks for your comments and advice.... There are so many things to learn about programming and so little time to do it (T_T)