D3DXCreateTextureFromFileEx() (and wtf is libci.lib?!?)

Started by
4 comments, last by BiGF00T 20 years ago
After one unsuxxessful day of reading and trying i ask for ur help :/ I tried code from a tutorial and it worked fine until i used D3DXCreateTextureFromFileEx( dx8.pd3dDevice, filename, 0, 0, 1, 0, D3DFMT_A8R8G8B8, D3DPOOL_MANAGED, D3DX_FILTER_NONE, D3DX_DEFAULT, colorkey, &SrcInfo , NULL, &pd3dTexture); now visual studio.net always says LINK : fatal error LNK1104: File 'libci.lib' couldnt be opened! I have the directx sdk on my hdd and i searched but i didnt find any files with the name libci.lib and the msdn also says nothing about that u need this file to use D3DXCreateTextureFromFileEx(). I commented everything in my program out and the only line of code that doesnt work is the one above... i hope someone can help me because i'm going crazy with this stuff... and not knowing dx and c++ that good i have no hope that i'll find the bug myself. i hoped that i could learn from the working(!) code and build on that :/ thx in advance BiGF00T [edited by - BiGF00T on February 28, 2004 10:13:54 PM]
Now get down on your hands and knees and start repeating "Open Source Good, M$ Evil", smacking your head against the pavement after each repetition. Once you have completed your training you may change your first name to GNU/, to show that you are free from the slavery of the closed source world. -Michalson
Advertisement
I got by this error by going to the Project Properties, under the Linker > Input option window, putting that file in ignore. My programs compiled after. I''m not sure if this is a good solution, it''s more of a workaround. Maybe someone else knows a better way?
please let it work *pray*
.
.
.
*test*
.
.
.
w00000000000t )) *jump* *dance* muhahaharrrharrrharr

even if this is only a workaround... all that counts is that it works now.

while (1)
{
printf ("Thank you!!\n");
}
Now get down on your hands and knees and start repeating "Open Source Good, M$ Evil", smacking your head against the pavement after each repetition. Once you have completed your training you may change your first name to GNU/, to show that you are free from the slavery of the closed source world. -Michalson
I find that this error is the cause of making a win32 console project instead of a win32 project. I think that this causes VC to look up some legacy libraries that it doenst include anymore. But anyways, last time I got that error, I changed the project type to win32 project and that fixed it.
"What are you trying to tell me? That I can write an O(N^2) recursive solution for a 2-dimensional knapsack?" "No, programmer. I'm trying to tell you that when you're ready, you won't have to." -Adapted from "The Matrix"
unfortunately this didnt work for me :/ i tried to copy the whole thing into another WIN32 project (i knew the other was one too) but it still wanted that damn libci.lib... i dont know why but the workaround or solution or whatever one should call it from DeanKnight worked just fine so i''ll use it.. but if someone knows why this error occurs or how i can solve it on a better way then let me know (omg that was probably the worst english sentence i produced since... dunno.... a long time) i hope everyone can understand me
Now get down on your hands and knees and start repeating "Open Source Good, M$ Evil", smacking your head against the pavement after each repetition. Once you have completed your training you may change your first name to GNU/, to show that you are free from the slavery of the closed source world. -Michalson
I had the same problem. After reading up on what exactily libci.lib is, I tried something a little different. It is an older library for iostream. Essentially the same as libc.lib, but libci is linked when the file iostream.h is included (rather than the more current iostream). For whatever drunken reason, the designers for DX8 included iostream.h in some file used by D3DCreateTextureFromFileEx(). I made copies of all the libc files and renamed them to libci (this includes the debug files libcd.lib and libcd.pdb). In theory, the interfaces to these two files will be the same so any calls to these libraries will just use the new versions. I''ve also read that if you''ve got an old copy of VC6, you can copy this library from there. This seemed to work, but I could be totally off base because I am still somewhat new to the whole Visual C++ thing. And I''ve read (from a book by the Microsoft Press, no less) that if a program works but you don''t know why, then it really doesn''t work and you just don''t know where or when it will fail yet.

This topic is closed to new replies.

Advertisement