मैं बीसीसी 55 के साथ sqlite3.c से sqlite3 डेटाबेस इंजन संकलित किया है निम्न आदेश का उपयोग कर उत्सर्जन:लिंक करना sqlite3.obj आगे uunsatisfied घोषणाओं त्रुटियों
bcc32.exe -jb -O2 -w- -K -c -6 -u- sqlite3.c
उचित sqlite3.obj फ़ाइल उत्पन्न किया गया था। लेकिन एक बार मैं इस तरह मेरी डेल्फी आवेदन में लिंक करने का प्रयास करें:
unit unt_SQLite3;
interface
uses
Windows;
implementation
{$LINK 'sqlite3.obj'}
end.
मैं निम्नलिखित त्रुटियाँ मिलती है:
[DCC Error] E2065 Unsatisfied forward or external declaration: '__ftol'
[DCC Error] E2065 Unsatisfied forward or external declaration: '__lldiv'
[DCC Error] E2065 Unsatisfied forward or external declaration: '__llmod'
[DCC Error] E2065 Unsatisfied forward or external declaration: '_localtime'
[DCC Error] E2065 Unsatisfied forward or external declaration: '_strncmp'
[DCC Error] E2065 Unsatisfied forward or external declaration: '_memset'
[DCC Error] E2065 Unsatisfied forward or external declaration: '__llmul'
[DCC Error] E2065 Unsatisfied forward or external declaration: '_malloc'
[DCC Error] E2065 Unsatisfied forward or external declaration: '_free'
[DCC Error] E2065 Unsatisfied forward or external declaration: '_realloc'
[DCC Error] E2065 Unsatisfied forward or external declaration: '_memcpy'
[DCC Error] E2065 Unsatisfied forward or external declaration: '__llumod'
[DCC Error] E2065 Unsatisfied forward or external declaration: '__lludiv'
[DCC Error] E2065 Unsatisfied forward or external declaration: '_memmove'
[DCC Error] E2065 Unsatisfied forward or external declaration: '_memcmp'
[DCC Error] E2065 Unsatisfied forward or external declaration: '__llshl'
[DCC Error] E2065 Unsatisfied forward or external declaration: '__llshr'
[DCC Error] E2065 Unsatisfied forward or external declaration: '_atol'
[DCC Error] E2065 Unsatisfied forward or external declaration: '_strlen'
[DCC Error] E2065 Unsatisfied forward or external declaration: '_qsort'
[DCC Error] E2065 Unsatisfied forward or external declaration: '__llushr'
[DCC Error] E2065 Unsatisfied forward or external declaration: '__turboFloat'
क्यों बोर्लेन्ड सी ++ शुद्ध पास्कल में क्रम कार्यों को लागू करने की जरूरत है (या एएसएम)? क्या ओबीजे में सीधे जुड़े नहीं हो सकते हैं? उनमें से कुछ पहले ही System.pas में लागू किए गए हैं लेकिन फिर भी संकलक शिकायत करता है?
इस mysqlf कर के बजाय SynSQLite3 या DIXml का उपयोग कर के पीछे तर्कसंगत है निम्नलिखित:
SynSQLite3 3.7.8 का समर्थन करता है
SynSQLite3 छूट जाए (मैं नवीनतम 3.7.9 नहीं दिख रहा है) sqlite3_trace, sqlite_open_v2, आदि जैसे कुछ घोषणाओं
SynSQLite2 फलस्वरूप 20 000 कदम आपरेशनों में DIXml 2.4.0 से लगभग 18 गुना धीमी है
DISQLite3 भुगतान किया जाता है
DISQLite 2.4.0 तेज है 260ms में 20000 कदम संचालन करती है, लेकिन DXE2
DISQLite 3.0.0 और 3.1.0 समर्थन DXE2 कर समर्थन नहीं करता है, लेकिन लगभग 8 गुना धीमी कर रहे हैं 2.4.0
मैं बहुत उत्सुक लड़का हूं और हमेशा जितना संभव हो सके धातु के करीब कोड को कोड करने का प्रयास करता हूं।
SynSQLite3 और DISQLite3 डेवलपर्स के लिए कुडोस - वास्तव में अच्छा काम Doen अब तक
अंततः मैं SynSQLite3 चुनने समाप्त हो गया क्योंकि:
यह है खुला स्रोत
यह बहुत अच्छी तरह से प्रलेखित है
मैं अपने आप को sqlite3.obj पुनः संकलित करें और विशेषताओं की आवश्यकता
मैं अद्यतन 3.7.9 संस्करण से जुड़ा हुआ
ठीक नवीनतम देखते 3.7 के साथ हो सकता है के लिए बस जरूरत संकलन स्विच छोड़ने के लिए कैसे सीखा .9 ओबीजे मैंने डीआईएसक्यूलाइट 3
DISQLite3 लड़के के पास अपनी साइट पर एक ईमेल पता भी नहीं है (केवल एक मेलिंग सूची), जहां SynSQLite3 लोग उसी घंटे SO में जवाब देते हैं।किसी दूसरे पर एक lib चुनते समय यह समझ में आता है। प्रदर्शन और कीमत सबकुछ नहीं है।
पी.एस. मेरे sqlite3.obj डाउनलोड और परीक्षण here
लिंकर। कंपाइलर उस परवाह नहीं करता है, लिंकर करता है। – OnTheFly
@user no, यह संकलन समय है जब डीसीयू बनाया जा रहा है –
@ डेविड हेफरन, असत्य। – OnTheFly