I am trying to build a dynamic library (.dll) in 64-bit format. The library itself is perfectly assembled (.NET Framework 4.5.2), with settings (Release) (Win32).

But since I work for the first time with VS, I don’t quite understand how to build libraries in a 64-bit format.

As I understand it, a 32-bit library is built according to the principle (it collected it just in 32-bit format)

further-> further-> further

I began to search in books (MS.Microsoft.Visual.Basic.2013.Step.by.Step, C / C ++ MS Visual C ++ 2012) and, unfortunately, I didn’t find it on the Internet, or simply failed ((

I thought that in the settings you can change the platform in the "configuration manager", but alas, win32 is the only thing that the configuration manager offers.

enter image description here


when assembled in a 64-bit system.

Error LNK2019 unresolved external symbol __imp_msg_zero referenced in function nmt_master_command проект этот nmt_master.obj Error LNK2001 unresolved external symbol __imp_msg_zero проект этот obj_sync.obj Error LNK2001 unresolved external symbol __imp_msg_zero проект этот pdo_proc.obj Error LNK2001 unresolved external symbol __imp_msg_zero проект этот sdo_proc.obj Error LNK2019 unresolved external symbol __imp_CiOpen referenced in function init_controller проект этот backinit.obj Error LNK2019 unresolved external symbol __imp_CiInit referenced in function start_master проект этот backinit.obj Error LNK2019 unresolved external symbol __imp_CiClose referenced in function init_controller проект этот backinit.obj Error LNK2019 unresolved external symbol __imp_CiStop referenced in function init_controller проект этот backinit.obj Error LNK2019 unresolved external symbol __imp_CiStart referenced in function set_controller_bitrate проект этот backinit.obj Error LNK2019 unresolved external symbol __imp_CiSetCB referenced in function init_controller проект этот backinit.obj Error LNK2019 unresolved external symbol __imp_CiSetBaud referenced in function set_controller_bitrate проект этот backinit.obj Error LNK2019 unresolved external symbol __imp_CiSetWriteTout referenced in function init_controller проект этот inout.obj Error LNK2019 unresolved external symbol __imp_CiWrite referenced in function push_all_data проект этот inout.obj Error LNK2019 unresolved external symbol __imp_CiRead referenced in function read_handler проект этот shai.lib 

    1 answer 1

    You cannot build a 64-bit DLL with the settings of the Release Win32 project, for this the DLL must be compiled as 64-bit. To do this, in the Configuration Manager window (shown in your screenshot), click on the Platform drop-down list in the row of your project and select New... In the New Platform list, select x64 , copy from Win32 . Select x64 as the active configuration, then Build .

    • did as you described, but alas, a lot of errors jumped out; _; - timob256
    • @ timob256, what specific errors? - freim
    • I added (updated) the question, I posted there just the "output" of the error. - timob256
    • one
      @ timob256, what do you have for CiOpen , CiSetBaud , msg_zero and others? Do you use some kind of library? It should also be recompiled for 64 bits, 32-bit libraries will not be able to be connected to a 64-bit program. - freim