I'm studying Riemannian manifolds that admit an almost-complex structure, thus 
$$3\tau+2\chi=c\_1^2,$$
where $\tau$ is the signature, $\chi$ is the euler characteristic and $c\_1$ is the first Chern class.


I know from Hizerbruch theorem that 
$$3\tau=p\_1,$$
where $p\_1$ is the first Pontryagin class. Notice that $\chi=c\_2$, thus
$$p\_1=c\_1^2-2c\_2.$$
But I know from Chern-Weil Theory that
$$c\_1=\frac{iTr(F\_A)}{2\pi},$$


$$c\_2=\frac{Tr(F\_A^2)-Tr(F\_A)^2}{8\pi^2}$$
and
$$p\_1=-\frac{Tr(F\_A^2)}{8\pi^2}$$.
Here, $F\_A^2=F\_A\wedge F\_A$ and $c\_1^2=c\_1\wedge c\_1$. Computing, we have:
$$c\_1^2-2c\_2=-\frac{Tr(F\_A)^2}{4\pi^2}+\frac{Tr(F\_A)^2-Tr(F\_A^2)}{4\pi^2}=-\frac{Tr(F\_A^2)}{4\pi^2}=2p\_1.$$
What did I miss? 



Chern-Weil Theory for $p_1$
It follows from the definition $p\_k(E) := (-1)^kc\_{2k}(E \otimes \mathbb{C})$ that the formula $$p\_1 = c\_1^2 - 2c\_2$$ is valid for all complex vector bundles (rather than just the tangent bundle of an almost complex surface).


The problem in your Chern-Weil calculation is essentailly that you are confusing the trace of a complex and a real matrix. A complex $n \times n$ matrix $M$ can be turned into a real $2n \times 2n$ matrix $M\_\mathbb{R}$, and the traces are related by
$$ {\rm Tr} \, M\_\mathbb{R} = 2 \, {\rm Re} \, {\rm Tr} \, M . $$
If you take a complex connection $A$ on a complex vector bundle $E$, and let $A\_\mathbb{R}$ be the induced connection on the underlying real vector bundle $E\_\mathbb{R}$, then the correct interpretation of the Chern-Weil formula is that $p\_1(E\_\mathbb{R})$ is represented by
$$ -\frac{{\rm Tr}(F\_{A\_\mathbb{R}}^2)}{8\pi^2} = -{\rm Re}\frac{{\rm Tr}(F\_A^2)}{4\pi^2} . $$
Since the cohomology class ${\rm Tr}(F\_A^2)$ is real that corrects the final step in your calculation.


