We help IT Professionals succeed at work.

Using CFile & CString in non-MFC app

jh6p
jh6p asked
on
Medium Priority
1,068 Views
Last Modified: 2013-11-20

I am trying to write a program that uses Driect X for display. I have a early version working, but I wanted to use CFile and CString to access the filesystem. I can't make htis an MFC project since DirectX will fight over control of the event loop. (If I am wrong, please correct me)
        I tried including afx.h which seemed to work OK, except that the linker complains that __beginthreadex and __endthreadex were unresolved externals. I tried changing the libraries and compiler defentitions, but it always made things worse. What do I need to add to comile my program with CString?

-John Huebner
Comment
Watch Question

Commented:
you can force the linker to produce the exe file. since you are not using mfc for anything else, these unresolved symbols should not cause any problems while running. to force an exe to be generated, go to Build->Settings. click on the Link Tab. selectCustomize from the Category combo-box. check the 'Force file output' check-box. click on the OK button to dismiss the dialog. you will still get the link errors while building, but the linker will also generate an exe file, which should work just fine.

Not the solution you were looking for? Getting a personalized solution is easy.

Ask the Experts

Author

Commented:
Thanks! you got me over a major hurdle. I'm still having a lot of trouble integrating the two, but now I'm not stuck.

Author

Commented:
I got a better answer through usenet a week after I got the answer from experts exchange:
--------------------------------------------------------
 Usually linker complains about  __beginthreadex and __endthreadex when
in your project settings option "Not Using MFC" is choosen.
Change it (Build | Settings | General).

Viktor Artemov

Commented:
yes, that's another way to solve this problem. but i thought that you could not make this a mfc project (as mentioned in your initial question) and that is why i did not suggest this alternative.
Access more of Experts Exchange with a free account
Thanks for using Experts Exchange.

Create a free account to continue.

Limited access with a free account allows you to:

  • View three pieces of content (articles, solutions, posts, and videos)
  • Ask the experts questions (counted toward content limit)
  • Customize your dashboard and profile

*This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

OR

Please enter a first name

Please enter a last name

8+ characters (letters, numbers, and a symbol)

By clicking, you agree to the Terms of Use and Privacy Policy.