Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. General Programming
  3. C / C++ / MFC
  4. CHAR to WCHAR ??

CHAR to WCHAR ??

Scheduled Pinned Locked Moved C / C++ / MFC
c++helpquestion
18 Posts 6 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M Mark Salsbery

    Fritzables wrote:

    So what does the 'L' basically do ?

    It makes the literal string's type wchar_t instead of char.

    F Offline
    F Offline
    Fritzables
    wrote on last edited by
    #5

    Oooops, now I get a: LNK2028: unresolved token (0A00001B) "extern "C" unsigned long __stdcall ZipCreateFileW(void * *,wchar_t const *,char const *)" (?ZipCreateFileW@@$$J212YGKPAPAXPB_WPBD@Z) referenced in function "public: void __clrcall SystemInitialisation::ListUnmergedFiles(void)" (?ListUnmergedFiles@SystemInitialisation@@$$FQ$AAMXXZ)

    M 1 Reply Last reply
    0
    • F Fritzables

      Oooops, now I get a: LNK2028: unresolved token (0A00001B) "extern "C" unsigned long __stdcall ZipCreateFileW(void * *,wchar_t const *,char const *)" (?ZipCreateFileW@@$$J212YGKPAPAXPB_WPBD@Z) referenced in function "public: void __clrcall SystemInitialisation::ListUnmergedFiles(void)" (?ListUnmergedFiles@SystemInitialisation@@$$FQ$AAMXXZ)

      M Offline
      M Offline
      Mark Salsbery
      wrote on last edited by
      #6

      Sounds like you need to link to the LiteZip library. I've never used it but there should be either an import library if it's implemented as a DLL or else a static library. LiteZip.lib? Mark

      F 1 Reply Last reply
      0
      • M Mark Salsbery

        Sounds like you need to link to the LiteZip library. I've never used it but there should be either an import library if it's implemented as a DLL or else a static library. LiteZip.lib? Mark

        F Offline
        F Offline
        Fritzables
        wrote on last edited by
        #7

        Yea, there is both. The LiteZip.dll I placed in the windows\system32 folder while the LIB file I placed in the LIB folder under VC8. Obviously there more I need to do. So I need to write the code in to tell that the DLL is there and where it is ? Pete

        M 1 Reply Last reply
        0
        • F Fritzables

          Yea, there is both. The LiteZip.dll I placed in the windows\system32 folder while the LIB file I placed in the LIB folder under VC8. Obviously there more I need to do. So I need to write the code in to tell that the DLL is there and where it is ? Pete

          M Offline
          M Offline
          Mark Salsbery
          wrote on last edited by
          #8

          Fritzables wrote:

          The LiteZip.dll I placed in the windows\system32 folder while the LIB file I placed in the LIB folder under VC8.

          Generally you want to keep 3rd-party dlls in the same folder as your app unless the vendor explicitly states to move it to a system folder. This helps prevent versioning clashes with other applications. The lib file can stay where it was (for the same reason I suppose). This is from VS 2003 so may be a bit different on 2005... In solution explorer - right click your project and select Properties. Go to the Linker/Input section and add the libfile pathname to the Additional Dependencies line. For example "C:\LiteZip\Lib\LiteZip.lib". Substitute the actual path and file name as usual. If there's multiple lib files on the line then separate them with a space. Should link! :) Mark

          F PJ ArendsP 2 Replies Last reply
          0
          • M Mark Salsbery

            Fritzables wrote:

            The LiteZip.dll I placed in the windows\system32 folder while the LIB file I placed in the LIB folder under VC8.

            Generally you want to keep 3rd-party dlls in the same folder as your app unless the vendor explicitly states to move it to a system folder. This helps prevent versioning clashes with other applications. The lib file can stay where it was (for the same reason I suppose). This is from VS 2003 so may be a bit different on 2005... In solution explorer - right click your project and select Properties. Go to the Linker/Input section and add the libfile pathname to the Additional Dependencies line. For example "C:\LiteZip\Lib\LiteZip.lib". Substitute the actual path and file name as usual. If there's multiple lib files on the line then separate them with a space. Should link! :) Mark

            PJ ArendsP Offline
            PJ ArendsP Offline
            PJ Arends
            wrote on last edited by
            #9

            Any reason you did not suggest using a #pragma?

            #pragma comment(lib, "LiteZip")

            It's a lot easier, and if the #pragma line is placed in the LiteZip.h header file it is something that one never has to remember to do when using the library.


            You may be right
            I may be crazy
            -- Billy Joel --

            Within you lies the power for good, use it!!!

            Within you lies the power for good; Use it!

            M 1 Reply Last reply
            0
            • M Mark Salsbery

              Fritzables wrote:

              The LiteZip.dll I placed in the windows\system32 folder while the LIB file I placed in the LIB folder under VC8.

              Generally you want to keep 3rd-party dlls in the same folder as your app unless the vendor explicitly states to move it to a system folder. This helps prevent versioning clashes with other applications. The lib file can stay where it was (for the same reason I suppose). This is from VS 2003 so may be a bit different on 2005... In solution explorer - right click your project and select Properties. Go to the Linker/Input section and add the libfile pathname to the Additional Dependencies line. For example "C:\LiteZip\Lib\LiteZip.lib". Substitute the actual path and file name as usual. If there's multiple lib files on the line then separate them with a space. Should link! :) Mark

              F Offline
              F Offline
              Fritzables
              wrote on last edited by
              #10

              That's it Mark, Now it compiles and end up with an EXE. Where did you learn all this ?? Just reading out of books or have ya done some courses ? Pete :-D

              M T 2 Replies Last reply
              0
              • F Fritzables

                That's it Mark, Now it compiles and end up with an EXE. Where did you learn all this ?? Just reading out of books or have ya done some courses ? Pete :-D

                M Offline
                M Offline
                Mark Salsbery
                wrote on last edited by
                #11

                Fritzables wrote:

                Where did you learn all this ?? Just reading out of books or have ya done some courses ?

                Lots of books (measured in pounds/Kgs I guess) and I started PC programming before there was Windows :) Man, I'm old. I don't miss command-line compiling/linking/building one bit! I'm still always learning though - that's why it's handy hanging out here. Cheers! Mark

                1 Reply Last reply
                0
                • PJ ArendsP PJ Arends

                  Any reason you did not suggest using a #pragma?

                  #pragma comment(lib, "LiteZip")

                  It's a lot easier, and if the #pragma line is placed in the LiteZip.h header file it is something that one never has to remember to do when using the library.


                  You may be right
                  I may be crazy
                  -- Billy Joel --

                  Within you lies the power for good, use it!!!

                  M Offline
                  M Offline
                  Mark Salsbery
                  wrote on last edited by
                  #12

                  PJ Arends wrote:

                  Any reason you did not suggest using a #pragma?

                  I left that for you to suggest! I suggest you suggest it to the OP :laugh: Thanks for the tip! Mark

                  1 Reply Last reply
                  0
                  • F Fritzables

                    That's it Mark, Now it compiles and end up with an EXE. Where did you learn all this ?? Just reading out of books or have ya done some courses ? Pete :-D

                    T Offline
                    T Offline
                    ThatsAlok
                    wrote on last edited by
                    #13

                    Fritzables wrote:

                    Where did you learn all this ?? Just reading out of books or have ya done some courses ?

                    you can add libaray file just like adding c++ file~!

                    "Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow

                    cheers, Alok Gupta VC Forum Q&A :- I/ IV Support CRY- Child Relief and you

                    M 1 Reply Last reply
                    0
                    • F Fritzables

                      Mark...... you're a legend !! All Ok now. So what does the 'L' basically do ? Cheers Pete :-D

                      D Offline
                      D Offline
                      David Crow
                      wrote on last edited by
                      #14

                      Fritzables wrote:

                      So what does the 'L' basically do ?

                      You too can achieve 'legend' status by reading here.


                      "Approved Workmen Are Not Ashamed" - 2 Timothy 2:15

                      "Judge not by the eye but by the heart." - Native American Proverb

                      F 1 Reply Last reply
                      0
                      • T ThatsAlok

                        Fritzables wrote:

                        Where did you learn all this ?? Just reading out of books or have ya done some courses ?

                        you can add libaray file just like adding c++ file~!

                        "Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow

                        cheers, Alok Gupta VC Forum Q&A :- I/ IV Support CRY- Child Relief and you

                        M Offline
                        M Offline
                        Mark Salsbery
                        wrote on last edited by
                        #15

                        ThatsAlok wrote:

                        you can add libaray file just like adding c++ file~!

                        :laugh::laugh::laugh: :doh: Good one! I just looked at some of my projects and I have some added like c++ files and some in the project settings. :rolleyes: In my defense, some of these projects started before Visual C++. O M G

                        T 1 Reply Last reply
                        0
                        • F Fritzables

                          I am trying to write a simple application that is capable of zipping files. To do this I am using ‘LiteZip’. I am writing with Visual C++ 2005. The code which generates the error is: #include "litezip.h" HZIP hz; ZipCreateFile(&hz,"FileName.zip",0); The error message is: error C2664: 'ZipCreateFileW' : cannot convert parameter 2 from 'const char [9]' to 'const WCHAR *' Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast From what I understand, I need to convert a CHAR to WCHAR. This is done by…. ?? Regards Pete :doh:

                          H Offline
                          H Offline
                          Hamid Taebi
                          wrote on last edited by
                          #16

                          And see here[^] :)


                          WhiteSky


                          1 Reply Last reply
                          0
                          • M Mark Salsbery

                            ThatsAlok wrote:

                            you can add libaray file just like adding c++ file~!

                            :laugh::laugh::laugh: :doh: Good one! I just looked at some of my projects and I have some added like c++ files and some in the project settings. :rolleyes: In my defense, some of these projects started before Visual C++. O M G

                            T Offline
                            T Offline
                            ThatsAlok
                            wrote on last edited by
                            #17

                            Mark Salsbery wrote:

                            In my defense, some of these projects started before Visual C++.

                            he he he

                            "Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow

                            cheers, Alok Gupta VC Forum Q&A :- I/ IV Support CRY- Child Relief and you

                            1 Reply Last reply
                            0
                            • D David Crow

                              Fritzables wrote:

                              So what does the 'L' basically do ?

                              You too can achieve 'legend' status by reading here.


                              "Approved Workmen Are Not Ashamed" - 2 Timothy 2:15

                              "Judge not by the eye but by the heart." - Native American Proverb

                              F Offline
                              F Offline
                              Fritzables
                              wrote on last edited by
                              #18

                              Thanks Dave, I have come across from using Borland's Delphi, so it's difficult coming to terms with some of the coding. Fritzables.

                              1 Reply Last reply
                              0
                              Reply
                              • Reply as topic
                              Log in to reply
                              • Oldest to Newest
                              • Newest to Oldest
                              • Most Votes


                              • Login

                              • Don't have an account? Register

                              • Login or register to search.
                              • First post
                                Last post
                              0
                              • Categories
                              • Recent
                              • Tags
                              • Popular
                              • World
                              • Users
                              • Groups