fernandobatels / rsfbclient

Rust Firebird Client
MIT License
76 stars 11 forks source link

Error trying to compile in Windows ARM #159

Closed daluisgarcia closed 1 month ago

daluisgarcia commented 2 months ago

I am trying to compile a simple program to test a connection. The code is the following:

use rsfbclient::Queryable;

fn main() {
    println!("Hello, world!");
    let mut conn = rsfbclient::builder_native()
        .with_dyn_link()
        .with_remote()
        .host("HOST")
        .user("SYSDBA")
        .pass("pass")
        .db_name("C:/Data/DB.MDF")
        .connect().unwrap();

    let result: Vec<(i32, String)> = conn.query("SELECT id, NOMBRE FROM DEPARTAMENTOS", ()).unwrap();

    // Process the result
    for row in result {
        println!("{:?}", row);
    }

}

I am running the code using rust 1.81.0 with toolchain stable-x86_64-pc-windows-gnu. The OS I am using is Windows for ARM. The compiling process is rasing this the following error:

librsfbclient_native-eca5c1c540722c09.rlib(rsfbclient_native-eca5c1c540722c09.rsfbclient_native.1661456c5d8f5d66-cgu.0.rcgu.o) : error LNK2019: unresolved external symbol isc_attach_database referenced in function _ZN90_$LT$rsfbclient_native..ibase..IBaseLinking$u20$as$u20$rsfbclient_native..ibase..IBase$GT$19isc_attach_database17hbc62f0e950254e18E
          librsfbclient_native-eca5c1c540722c09.rlib(rsfbclient_native-eca5c1c540722c09.rsfbclient_native.1661456c5d8f5d66-cgu.0.rcgu.o) : error LNK2019: unresolved external symbol isc_close_blob referenced in function _ZN90_$LT$rsfbclient_native..ibase..IBaseLinking$u20$as$u20$rsfbclient_native..ibase..IBase$GT$14isc_close_blob17he98702b908d830edE
          librsfbclient_native-eca5c1c540722c09.rlib(rsfbclient_native-eca5c1c540722c09.rsfbclient_native.1661456c5d8f5d66-cgu.0.rcgu.o) : error LNK2019: unresolved external symbol isc_commit_retaining referenced in function _ZN90_$LT$rsfbclient_native..ibase..IBaseLinking$u20$as$u20$rsfbclient_native..ibase..IBase$GT$20isc_commit_retaining17h10e902685469f90dE
          librsfbclient_native-eca5c1c540722c09.rlib(rsfbclient_native-eca5c1c540722c09.rsfbclient_native.1661456c5d8f5d66-cgu.0.rcgu.o) : error LNK2019: unresolved external symbol isc_commit_transaction referenced in function _ZN90_$LT$rsfbclient_native..ibase..IBaseLinking$u20$as$u20$rsfbclient_native..ibase..IBase$GT$22isc_commit_transaction17h17f3b3da7a10ec69E
          librsfbclient_native-eca5c1c540722c09.rlib(rsfbclient_native-eca5c1c540722c09.rsfbclient_native.1661456c5d8f5d66-cgu.0.rcgu.o) : error LNK2019: unresolved external symbol isc_create_blob referenced in function _ZN90_$LT$rsfbclient_native..ibase..IBaseLinking$u20$as$u20$rsfbclient_native..ibase..IBase$GT$15isc_create_blob17hd4e1b2db66d2bc0fE
          librsfbclient_native-eca5c1c540722c09.rlib(rsfbclient_native-eca5c1c540722c09.rsfbclient_native.1661456c5d8f5d66-cgu.0.rcgu.o) : error LNK2019: unresolved external symbol isc_create_database referenced in function _ZN90_$LT$rsfbclient_native..ibase..IBaseLinking$u20$as$u20$rsfbclient_native..ibase..IBase$GT$19isc_create_database17hb2178267b48e0f0eE
          librsfbclient_native-eca5c1c540722c09.rlib(rsfbclient_native-eca5c1c540722c09.rsfbclient_native.1661456c5d8f5d66-cgu.0.rcgu.o) : error LNK2019: unresolved external symbol isc_detach_database referenced in function _ZN90_$LT$rsfbclient_native..ibase..IBaseLinking$u20$as$u20$rsfbclient_native..ibase..IBase$GT$19isc_detach_database17hc633940a59d58f10E
          librsfbclient_native-eca5c1c540722c09.rlib(rsfbclient_native-eca5c1c540722c09.rsfbclient_native.1661456c5d8f5d66-cgu.0.rcgu.o) : error LNK2019: unresolved external symbol isc_drop_database referenced in function _ZN90_$LT$rsfbclient_native..ibase..IBaseLinking$u20$as$u20$rsfbclient_native..ibase..IBase$GT$17isc_drop_database17h9ed4483802158287E
          librsfbclient_native-eca5c1c540722c09.rlib(rsfbclient_native-eca5c1c540722c09.rsfbclient_native.1661456c5d8f5d66-cgu.0.rcgu.o) : error LNK2019: unresolved external symbol isc_dsql_allocate_statement referenced in function _ZN90_$LT$rsfbclient_native..ibase..IBaseLinking$u20$as$u20$rsfbclient_native..ibase..IBase$GT$27isc_dsql_allocate_statement17h10e7e4c44fbfc866E
          librsfbclient_native-eca5c1c540722c09.rlib(rsfbclient_native-eca5c1c540722c09.rsfbclient_native.1661456c5d8f5d66-cgu.0.rcgu.o) : error LNK2019: unresolved external symbol isc_dsql_describe referenced in function _ZN90_$LT$rsfbclient_native..ibase..IBaseLinking$u20$as$u20$rsfbclient_native..ibase..IBase$GT$17isc_dsql_describe17he727a3aceee217a8E
          librsfbclient_native-eca5c1c540722c09.rlib(rsfbclient_native-eca5c1c540722c09.rsfbclient_native.1661456c5d8f5d66-cgu.0.rcgu.o) : error LNK2019: unresolved external symbol isc_dsql_describe_bind referenced in function _ZN90_$LT$rsfbclient_native..ibase..IBaseLinking$u20$as$u20$rsfbclient_native..ibase..IBase$GT$22isc_dsql_describe_bind17hc04fdfd263b46201E
          librsfbclient_native-eca5c1c540722c09.rlib(rsfbclient_native-eca5c1c540722c09.rsfbclient_native.1661456c5d8f5d66-cgu.0.rcgu.o) : error LNK2019: unresolved external symbol isc_dsql_execute referenced in function _ZN90_$LT$rsfbclient_native..ibase..IBaseLinking$u20$as$u20$rsfbclient_native..ibase..IBase$GT$16isc_dsql_execute17h40242903ea635124E
          librsfbclient_native-eca5c1c540722c09.rlib(rsfbclient_native-eca5c1c540722c09.rsfbclient_native.1661456c5d8f5d66-cgu.0.rcgu.o) : error LNK2019: unresolved external symbol isc_dsql_execute2 referenced in function _ZN90_$LT$rsfbclient_native..ibase..IBaseLinking$u20$as$u20$rsfbclient_native..ibase..IBase$GT$17isc_dsql_execute217h71f83e2f4fdeb460E
          librsfbclient_native-eca5c1c540722c09.rlib(rsfbclient_native-eca5c1c540722c09.rsfbclient_native.1661456c5d8f5d66-cgu.0.rcgu.o) : error LNK2019: unresolved external symbol isc_dsql_execute_immediate referenced in function _ZN90_$LT$rsfbclient_native..ibase..IBaseLinking$u20$as$u20$rsfbclient_native..ibase..IBase$GT$26isc_dsql_execute_immediate17hec5f6bd0a0437297E
          librsfbclient_native-eca5c1c540722c09.rlib(rsfbclient_native-eca5c1c540722c09.rsfbclient_native.1661456c5d8f5d66-cgu.0.rcgu.o) : error LNK2019: unresolved external symbol isc_dsql_fetch referenced in function _ZN90_$LT$rsfbclient_native..ibase..IBaseLinking$u20$as$u20$rsfbclient_native..ibase..IBase$GT$14isc_dsql_fetch17h12e9cd0494489b54E
          librsfbclient_native-eca5c1c540722c09.rlib(rsfbclient_native-eca5c1c540722c09.rsfbclient_native.1661456c5d8f5d66-cgu.0.rcgu.o) : error LNK2019: unresolved external symbol isc_dsql_free_statement referenced in function _ZN90_$LT$rsfbclient_native..ibase..IBaseLinking$u20$as$u20$rsfbclient_native..ibase..IBase$GT$23isc_dsql_free_statement17hff13ad470be33a6eE
          librsfbclient_native-eca5c1c540722c09.rlib(rsfbclient_native-eca5c1c540722c09.rsfbclient_native.1661456c5d8f5d66-cgu.0.rcgu.o) : error LNK2019: unresolved external symbol isc_dsql_prepare referenced in function _ZN90_$LT$rsfbclient_native..ibase..IBaseLinking$u20$as$u20$rsfbclient_native..ibase..IBase$GT$16isc_dsql_prepare17hcd03094cefe26a34E
          librsfbclient_native-eca5c1c540722c09.rlib(rsfbclient_native-eca5c1c540722c09.rsfbclient_native.1661456c5d8f5d66-cgu.0.rcgu.o) : error LNK2019: unresolved external symbol isc_dsql_sql_info referenced in function _ZN90_$LT$rsfbclient_native..ibase..IBaseLinking$u20$as$u20$rsfbclient_native..ibase..IBase$GT$17isc_dsql_sql_info17h6334ca5bae78aa8eE
          librsfbclient_native-eca5c1c540722c09.rlib(rsfbclient_native-eca5c1c540722c09.rsfbclient_native.1661456c5d8f5d66-cgu.0.rcgu.o) : error LNK2019: unresolved external symbol isc_event_block referenced in function _ZN90_$LT$rsfbclient_native..ibase..IBaseLinking$u20$as$u20$rsfbclient_native..ibase..IBase$GT$15isc_event_block17ha5fc262ba536d603E
          librsfbclient_native-eca5c1c540722c09.rlib(rsfbclient_native-eca5c1c540722c09.rsfbclient_native.1661456c5d8f5d66-cgu.0.rcgu.o) : error LNK2019: unresolved external symbol isc_event_counts referenced in function _ZN90_$LT$rsfbclient_native..ibase..IBaseLinking$u20$as$u20$rsfbclient_native..ibase..IBase$GT$16isc_event_counts17h799078f4697c9774E
          librsfbclient_native-eca5c1c540722c09.rlib(rsfbclient_native-eca5c1c540722c09.rsfbclient_native.1661456c5d8f5d66-cgu.0.rcgu.o) : error LNK2019: unresolved external symbol isc_free referenced in function _ZN90_$LT$rsfbclient_native..ibase..IBaseLinking$u20$as$u20$rsfbclient_native..ibase..IBase$GT$8isc_free17hb86a7ad5b165b82fE
          librsfbclient_native-eca5c1c540722c09.rlib(rsfbclient_native-eca5c1c540722c09.rsfbclient_native.1661456c5d8f5d66-cgu.0.rcgu.o) : error LNK2019: unresolved external symbol isc_get_segment referenced in function _ZN90_$LT$rsfbclient_native..ibase..IBaseLinking$u20$as$u20$rsfbclient_native..ibase..IBase$GT$15isc_get_segment17h29f19696c9f217d6E
          librsfbclient_native-eca5c1c540722c09.rlib(rsfbclient_native-eca5c1c540722c09.rsfbclient_native.1661456c5d8f5d66-cgu.0.rcgu.o) : error LNK2019: unresolved external symbol fb_interpret referenced in function _ZN90_$LT$rsfbclient_native..ibase..IBaseLinking$u20$as$u20$rsfbclient_native..ibase..IBase$GT$12fb_interpret17h30859b832a062034E
          librsfbclient_native-eca5c1c540722c09.rlib(rsfbclient_native-eca5c1c540722c09.rsfbclient_native.1661456c5d8f5d66-cgu.0.rcgu.o) : error LNK2019: unresolved external symbol isc_open_blob referenced in function _ZN90_$LT$rsfbclient_native..ibase..IBaseLinking$u20$as$u20$rsfbclient_native..ibase..IBase$GT$13isc_open_blob17h48a4ad158b0b9f17E
          librsfbclient_native-eca5c1c540722c09.rlib(rsfbclient_native-eca5c1c540722c09.rsfbclient_native.1661456c5d8f5d66-cgu.0.rcgu.o) : error LNK2019: unresolved external symbol isc_put_segment referenced in function _ZN90_$LT$rsfbclient_native..ibase..IBaseLinking$u20$as$u20$rsfbclient_native..ibase..IBase$GT$15isc_put_segment17h22a81db42e27c036E
          librsfbclient_native-eca5c1c540722c09.rlib(rsfbclient_native-eca5c1c540722c09.rsfbclient_native.1661456c5d8f5d66-cgu.0.rcgu.o) : error LNK2019: unresolved external symbol isc_rollback_retaining referenced in function _ZN90_$LT$rsfbclient_native..ibase..IBaseLinking$u20$as$u20$rsfbclient_native..ibase..IBase$GT$22isc_rollback_retaining17h7f8b55aa31b07120E
          librsfbclient_native-eca5c1c540722c09.rlib(rsfbclient_native-eca5c1c540722c09.rsfbclient_native.1661456c5d8f5d66-cgu.0.rcgu.o) : error LNK2019: unresolved external symbol isc_rollback_transaction referenced in function _ZN90_$LT$rsfbclient_native..ibase..IBaseLinking$u20$as$u20$rsfbclient_native..ibase..IBase$GT$24isc_rollback_transaction17hc45dba81299be8f5E
          librsfbclient_native-eca5c1c540722c09.rlib(rsfbclient_native-eca5c1c540722c09.rsfbclient_native.1661456c5d8f5d66-cgu.0.rcgu.o) : error LNK2019: unresolved external symbol isc_start_multiple referenced in function _ZN90_$LT$rsfbclient_native..ibase..IBaseLinking$u20$as$u20$rsfbclient_native..ibase..IBase$GT$18isc_start_multiple17h735761dc4aa0277fE
          librsfbclient_native-eca5c1c540722c09.rlib(rsfbclient_native-eca5c1c540722c09.rsfbclient_native.1661456c5d8f5d66-cgu.0.rcgu.o) : error LNK2019: unresolved external symbol isc_sqlcode referenced in function _ZN90_$LT$rsfbclient_native..ibase..IBaseLinking$u20$as$u20$rsfbclient_native..ibase..IBase$GT$11isc_sqlcode17h468435a6d9469c25E
          librsfbclient_native-eca5c1c540722c09.rlib(rsfbclient_native-eca5c1c540722c09.rsfbclient_native.1661456c5d8f5d66-cgu.0.rcgu.o) : error LNK2019: unresolved external symbol isc_wait_for_event referenced in function _ZN90_$LT$rsfbclient_native..ibase..IBaseLinking$u20$as$u20$rsfbclient_native..ibase..IBase$GT$18isc_wait_for_event17hd1349250bbbd522eE
          C:\Users\Daniel Luis\Projects\arotech\valery_excel_invoice_rust\target\debug\deps\valery_excel_invoice_rust.exe : fatal error LNK1120: 30 unresolved externals

I have installed Visual Studio 2020 for Dev Tools

fernandobatels commented 1 month ago

It appears that your fbclient.dll is missing or not compatible. Please try using the dynamic_loading or pure_rust builder.