Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 236411
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 11, 20262026-05-11T20:20:35+00:00 2026-05-11T20:20:35+00:00

My VC++ solution includes two projects, an application (exe) and a static library. Both

  • 0

My VC++ solution includes two projects, an application (exe) and a static library.

Both compile fine, but fail to link. I’m getting an “unresolved external symbol” error for each function from the static lib I use. They look like this:

MyApplication.obj : error LNK2019: unresolved external symbol “__declspec(dllimport) int __cdecl MyStaticLibrary::accept(int,struct sockaddr *,int *)”

The app find’s the .lib just fine, so that is not the issue. I’m thinking the “dllimport” is the problem — why would it be there when I’m trying to build a static library? Both the app and library use the “Multi-threaded (/MT)” runtime library, not “Multi-threaded DLL (/MD)”.

EDIT:

I think some of the answers are right. The library, which is called UDT, has this in the main header file:

#ifdef UDT_EXPORTS
   #define UDT_API __declspec(dllexport)
#else
   #define UDT_API __declspec(dllimport)
#endif

Does this mean it wasn’t meant to be used as a static library?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-11T20:20:35+00:00Added an answer on May 11, 2026 at 8:20 pm

    How are you setting it up to link? And what does your header file for MyApplication and MyStaticLibrary::accept look like?

    If you have both projects in the same solution file, the best way to set it up to link is to right-click the Solution file->Properties and then set the library as a dependency of the application. Visual Studio will handle the linking automatically, and also make sure that the library build is up to date when you build your application.

    That error kinda sounds like you have it defined as a DLL import/export in your header file though.

    Edit:
    Yes, that’s the problem. You probably created it as a dynamic library first? (or whoever wrote it did.)

    There are a few options.

    1) You can just delete all of that stuff, and any UDT_API modifiers in the code.

    2) You can delete that stuff and add this line:

    #define UDT_API
    

    3) A more robust solution is to change it to this:

    #ifdef  UDT_STATIC
        #define UDT_API
    #else
        #ifdef UDT_EXPORTS
           #define UDT_API __declspec(dllexport)
        #else
           #define UDT_API __declspec(dllimport)
        #endif
    #endif
    

    And then add the preprocessor directive UDT_STATIC to your projects when you want to use it as a static library, and remove it if you want to use it as a dynamic library. (Will need to be added to both projects.)

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Ask A Question

Stats

  • Questions 204k
  • Answers 204k
  • Best Answers 0
  • User 1
  • Popular
  • Answers
  • Editorial Team

    How to approach applying for a job at a company ...

    • 7 Answers
  • Editorial Team

    What is a programmer’s life like?

    • 5 Answers
  • Editorial Team

    How to handle personal stress caused by utterly incompetent and ...

    • 5 Answers
  • Editorial Team
    Editorial Team added an answer Something like this would be very easy to create. First… May 12, 2026 at 8:50 pm
  • Editorial Team
    Editorial Team added an answer Building on the current suggestions, you should be able to… May 12, 2026 at 8:50 pm
  • Editorial Team
    Editorial Team added an answer Locking no. Slow, depends on what you're comparing it to.… May 12, 2026 at 8:50 pm

Related Questions

So I'm trying to build a small 3D engine as an exercise on VC++
I'm migrating a solution from visual studio 2005 to visual studio 2008. When I
I'm trying to use a static library created by me in Visual C++ 2005
It's pretty easy to use a library in VC++ 2008 if you create a

Trending Tags

analytics british company computer developers django employee employer english facebook french google interview javascript language life php programmer programs salary

Top Members

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.