我编写了以下Makefile(它按预期工作):
<? while ( $query->have_posts() && $count != 3) : $query->the_post()?>
<? $count++; ?>
<div class="row">
<div class="col-xs-12 col-sm-12 col-md-4 col-lg-4">
<?php the_post_thumbnail('medium'); ?>
</div>
<div class="col-xs-12 col-sm-12 col-md-8 col-lg-8 post-info">
<h3><a title="<?php echo get_the_title(); ?>" href="<?php echo get_permalink(); ?>"><?php the_title(); ?></a></h3>
<time><?php the_date(); ?></time>
<div class="category">
<!-- <p>Category: <a title="Posts about <?php get_category_link(get_the_category()[0]->title); ?>" href="<?php echo get_category_link(get_the_category()[0]->id); ?>"><?php the_category(', ', 'single', get_the_ID()); ?></a></p>-->
</div>
<a title="<?php echo get_the_title(); ?>" href="<?php echo get_permalink(); ?>" class="col-12 btn btn-block btn-info">Read More..</a>
</div>
</div>
<?php
endwhile; //resetting the page loop
wp_reset_query(); //resetting the page query
?>
在我的CXX2 = clang++
CXXFLAG2 = -std=c++11 -c -g -O0 -Wall -Wextra
LD2 = clang++
LDFLAG2 = -std=c++11
testing: data_test.o test_main.o dataframe.o csvreader.o course.o
$(LD2) $^ $(LDFLAG2) -o $@
data_test.o: test/data_test.cpp
$(CXX2) $< $(CXXFLAG2)
test_main.o: test/test_main.cpp
$(CXX2) $< $(CXXFLAG2)
dataframe.o: src/DataFrame.cpp src/CSVReader.cpp src/Course.cpp
$(CXX2) $< $(CXXFLAG2)
文件中,我只有以下几行:
test_main.cpp
我试过看看在我的Makefile中我是否可以按如下方式替换测试规则:
#define CATCH_CONFIG_MAIN
#include "catch.hpp"
但是,我收到data_test.o: test/data_test.cpp test/test_main.cpp
$(CXX2) $< $(CXXFLAG2)
错误。对我来说,它似乎应该工作正常,只包括"_main", referenced from:
implicit entry/start for main executable
作为我的实际测试的依赖。是否有理由将此主文件编译为自己的test_main.cpp
文件?
答案 0 :(得分:5)
从制作手册:
$&lt;
第一个先决条件的名称。如果目标从隐式规则获得其配方,则这将是隐式规则添加的第一个先决条件(请参阅隐式规则)。
因此,下面的规则编译data_test.cpp
并且不编译test_main.cpp
:
data_test.o: test/data_test.cpp test/test_main.cpp
$(CXX2) $< $(CXXFLAG2)