मेरे पास मेकफाइल के साथ एक छोटा प्रोजेक्ट है जिसे मैं सीएमके में बदलने की कोशिश कर रहा हूं, ज्यादातर सिर्फ सीएमके के साथ अनुभव प्राप्त करने के लिए। इस उदाहरण के प्रयोजनों के लिए, परियोजना में एक स्रोत फ़ाइल (C ++ शामिल है, हालांकि मुझे नहीं लगता कि भाषा विशेष रूप से प्रासंगिक है) और एक स्थिर पुस्तकालय फ़ाइल है जिसे मैंने कहीं और से कॉपी किया है। तर्क के लिए मान लें कि पुस्तकालय के लिए स्रोत कोड अनुपलब्ध है; मेरे पास केवल .a फ़ाइल और संबंधित हेडर है।
मेरे हस्तनिर्मित मेकफाइल में यह नियम है:
main: main.o libbingitup.a
g++ -o main main.o libbingitup.a
जो ठीक काम करता है मैं सीएमके को इसे कैसे दोहराऊं? वस्तुतः यह सटीक मेकफाइल नहीं है, निश्चित रूप से, लेकिन ऐसा कुछ जिसमें एक समान लिंकिंग कमांड शामिल है। मैंने स्पष्ट लेकिन भोले तरीकों की कोशिश की है, जैसे
add_executable(main main.cpp libbingitup.a)
या
add_executable(main main.cpp)
target_link_libraries(main libbingitup.a)
साथ ही साथ link_directories(.)
या add_library(bingitup STATIC IMPORTED)
आदि के साथ विभिन्न चीजें लेकिन अभी तक कुछ भी नहीं है जिसके परिणामस्वरूप एक सफल संबंध है। मुझे क्या करना चाहिए?
संस्करण विवरण: लिनक्स पर सीएमके 2.8.7 (जीसीसी 4.6.3 के साथ कुबंटु 12.04)