2012-08-21 28 views
5

मैं विंडोज़ में नेटसीडीएफ का उपयोग करने जा रहा हूं और मुझे लगता है कि इसे मेरे मुख्य कार्यक्रम के बाद से मिनीजीडब्ल्यू के साथ संकलित किया जाना है और अन्य सभी पुस्तकालयों को पहले से ही मिनीजीडब्ल्यू के साथ संकलित किया गया है।libtool: संग्रह में ऑब्जेक्ट का नाम विवाद (एनईटीसीडीएफ + मिनजीडब्ल्यू)

लेकिन जब मैंने मिनजीडब्ल्यू (जीसीसी संस्करण 4.6.2) का उपयोग किया। मुझे कुछ त्रुटि संदेश मिले:

Making all in liblib 
    make[2]: Entering directory `/c/Users/ylylyl/Documents/CB/NETCDF/netcdf-4.2.1.1/liblib' 
    /bin/sh ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I.. -I../include -DDLL_NETCDF -DDLL_EXPORT -g -O2 -MT libnetcdf_la-stub.lo -MD -MP -MF .deps/libnetcdf_la-stub.Tpo -c -o libnetcdf_la-stub.lo `test -f 'stub.c' ||echo './'`stub.c 
    libtool: compile: gcc -DHAVE_CONFIG_H -I. -I.. -I../include -DDLL_NETCDF -DDLL_EXPORT -g -O2 -MT libnetcdf_la-stub.lo -MD -MP -MF .deps/libnetcdf_la-stub.Tpo -c stub.c -DDLL_EXPORT -DPIC -o .libs/libnetcdf_la-stub.o 
    libtool: compile: gcc -DHAVE_CONFIG_H -I. -I.. -I../include -DDLL_NETCDF -DDLL_EXPORT -g -O2 -MT libnetcdf_la-stub.lo -MD -MP -MF .deps/libnetcdf_la-stub.Tpo -c stub.c -o libnetcdf_la-stub.o >/dev/null 2>&1 
    mv -f .deps/libnetcdf_la-stub.Tpo .deps/libnetcdf_la-stub.Plo 
    /bin/sh ../libtool --tag=CC --mode=link gcc -g -O2 -version-info 9:0:2 -no-undefined -Wl,--output-def,netcdfdll.def -o libnetcdf.la -rpath /usr/local/lib libnetcdf_la-stub.lo ../libdispatch/libnetcdf2.la ../libdispatch/libdispatch.la ../libsrc/libnetcdf3.la -lm 
    libtool: link: gcc -shared .libs/libnetcdf_la-stub.o -Wl,--whole-archive ../libdispatch/.libs/libnetcdf2.a ../libdispatch/.libs/libdispatch.a ../libsrc/.libs/libnetcdf3.a -Wl,--no-whole-archive -O2 -Wl,--output-def -Wl,netcdfdll.def -o .libs/libnetcdf-7.dll -Wl,--enable-auto-image-base -Xlinker --out-implib -Xlinker .libs/libnetcdf.dll.a 
    Creating library file: .libs/libnetcdf.dll.a 
    libtool: link: (cd .libs/libnetcdf.lax/libnetcdf2.a && ar x "/c/Users/ylylyl/Documents/CB/NETCDF/netcdf-4.2.1.1/liblib/../libdispatch/.libs/libnetcdf2.a") 
    libtool: link: object name conflicts in archive: .libs/libnetcdf.lax/libnetcdf2.a//c/Users/ylylyl/Documents/CB/NETCDF/netcdf-4.2.1.1/liblib/../libdispatch/.libs/libnetcdf2.a 
    make[2]: *** [libnetcdf.la] Error 1 
    make[2]: Leaving directory `/c/Users/ylylyl/Documents/CB/NETCDF/netcdf-4.2.1.1/liblib' 
    make[1]: *** [all-recursive] Error 1 
    make[1]: Leaving directory `/c/Users/ylylyl/Documents/CB/NETCDF/netcdf-4.2.1.1' 
    make: *** [all] Error 2 

मुझे पता नहीं है कि libtool में समस्या क्या है। लेकिन मुझे लगता है कि आर कमांड को अधिक इनपुट की आवश्यकता है। और libtol स्क्रिप्ट उत्पन्न करते समय शायद कुछ गलत हो सकता है?

मैंने ऑनलाइन खोज की लेकिन मुझे कोई भी मिनीजीडब्लू संस्करण नेटसीडीएफ नहीं मिला है जो कि फोर्टन और एफ 0 9 इंटरफेस के साथ है। कृपया मुझे एक हाथ दें। बहुत धन्यवाद।

उत्तर

13

समस्या यह है कि "विंडोज़" पथ पैथ में msys 'bin से पहले सूचीबद्ध है। इसलिए, यूनिक्स यूटिलिटीज जिनके पास विंडोज़' बिल्टिन यूटिलिटीज के साथ समान नाम है, को कॉल नहीं किया जाएगा। विंडोज़ को इसके बजाय बुलाया जाता है। " (http://forum.world.st/The-old-quot-object-name-conflicts-in-archive-quot-problem-on-Windows-MSYS-MinGW-td3439428.html)। पैथ की शुरुआत में msys बाइनरी के लिए पथ डालने में मदद करनी चाहिए।

+0

मेरा दिन बचाया, धन्यवाद! प्रतिक्रिया देने के लिए: मेरे मामले में मैं विंडोज़ पाथ में पुस्तकालयों का मार्ग भूल गया, और मैं सामान्य cmd पर msys sh चला रहा था। तब अब मैंने पैथ हटा दिया और वापस msys पर ले जाया गया, बस फिर से बनाओ, और यह जारी रखा जहां यह त्रुटि दे दी। :) मूल रूप से पथ लोगों को दोबारा जांचें। – questioner

+0

ओ फ्लिपिंग ए। इस मुद्दे को ठीक किया गया। – NiteRain

+0

मुझे साइगविन के तहत एक ही समस्या का सामना करना पड़ा। पथ प्रविष्टियों को पुन: व्यवस्थित करना इसे ठीक करता है। – aroth