[
https://issues.apache.org/jira/browse/THRIFT-2154?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Roger Meier resolved THRIFT-2154.
---------------------------------
Resolution: Cannot Reproduce
> Missing <operator body
> ----------------------
>
> Key: THRIFT-2154
> URL: https://issues.apache.org/jira/browse/THRIFT-2154
> Project: Thrift
> Issue Type: Bug
> Components: C++ - Compiler
> Affects Versions: 0.9
> Environment: Fedora 19
> g++ (GCC) 4.8.1 20130603 (Red Hat 4.8.1-1)
> Reporter: Blackbox Dev Team
>
> When I compile:
> {code:title=d.thrift}
> struct Ala {
> 1: optional i32 a
> }
> struct Basia {
> 1: optional map<Ala, i32> b
> }
> {code}
> {code:title=main.cpp}
> #include <iostream>
> #include "gen-cpp/d_types.h"
> int main() {
> Basia b;
> return 0;
> }
> {code}
> {code:title=makefile}
> GEN_SRC := main.cpp\
> gen-cpp/d_constants.cpp \
> gen-cpp/d_types.cpp \
> GEN_OBJ := $(patsubst %.cpp,%.o, $(GEN_SRC))
> THRIFT_DIR := /usr/local/include/thrift
> BOOST_DIR := /usr/local/include
> INC := -I$(THRIFT_DIR) -I$(BOOST_DIR)
> .PHONY: all clean
> all: main
> %.o: %.cpp
> $(CXX) --std=c++11 -Wall -DHAVE_INTTYPES_H -DHAVE_NETINET_IN_H $(INC)
> -c $< -o $@
> main: main.o $(GEN_OBJ)
> $(CXX) $^ -o $@ -L/usr/local/lib -lthrift
> clean:
> $(RM) *.o gen-cpp/*.o main
> {code}
> I get an error:
> {code}
> g++ main.o gen-cpp/d_constants.o gen-cpp/d_types.o -o main -L/usr/local/lib
> -lthrift
> gen-cpp/d_types.o: In function `std::less<Ala>::operator()(Ala const&, Ala
> const&) const':
> d_types.cpp:(.text._ZNKSt4lessI3AlaEclERKS0_S3_[_ZNKSt4lessI3AlaEclERKS0_S3_]+0x14):
> undefined reference to `Ala::operator<(Ala const&) const'
> collect2: error: ld returned 1 exit status
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)